X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;ds=sidebyside;f=FS%2FFS%2FSchema.pm;h=6a25fab5cfd6808bc4bddcc4a95ab606acbd14d1;hb=cc647ae934abe5c9d9a5fc12f020adfc566349d9;hp=d40c7b0d0f902a3880bc1badc8c579d3bb2419bc;hpb=aa3c89b8cd643ece05fbe041ed2b604b31ffd33a;p=freeside.git diff --git a/FS/FS/Schema.pm b/FS/FS/Schema.pm index d40c7b0d0..6a25fab5c 100644 --- a/FS/FS/Schema.pm +++ b/FS/FS/Schema.pm @@ -256,7 +256,7 @@ sub dbdef_dist { } ); if ( $column->type =~ /^(\w*)SERIAL$/i ) { - $column->type('int'); + $column->type(uc($1).'INT'); $column->null('NULL'); } #$column->default('') @@ -378,11 +378,11 @@ sub tables_hashref { 'custnum', 'int', '', '', '', '', '_date', @date_type, '', '', 'otaker', 'varchar', '', 32, '', '', - 'filename', 'varchar', '', 32, '', '', - 'mime_type', 'varchar', '', 32, '', '', - 'title', 'varchar', 'NULL', 32, '', '', + 'filename', 'varchar', '', 255, '', '', + 'mime_type', 'varchar', '', $char_d, '', '', + 'title', 'varchar', 'NULL', $char_d, '', '', 'body', 'blob', 'NULL', '', '', '', - 'disabled', 'varchar', 'NULL', '10', '', + 'disabled', @date_type, '', '', ], 'primary_key' => 'attachnum', 'unique' => [], @@ -800,12 +800,84 @@ sub tables_hashref { 'index' => [], }, + #eventually for cust_main too + 'contact' => { + 'columns' => [ + 'contactnum', 'serial', '', '', '', '', + 'prospectnum', 'int', 'NULL', '', '', '', + 'custnum', 'int', 'NULL', '', '', '', + 'locationnum', 'int', 'NULL', '', '', '', #not yet +# 'titlenum', 'int', 'NULL', '', '', '', #eg Mr. Mrs. Dr. Rev. + 'last', 'varchar', '', $char_d, '', '', +# 'middle', 'varchar', 'NULL', $char_d, '', '', + 'first', 'varchar', '', $char_d, '', '', + 'title', 'varchar', '', $char_d, '', '', #eg Head Bottle Washer + 'comment', 'varchar', '', $char_d, '', '', + 'disabled', 'char', 'NULL', 1, '', '', + ], + 'primary_key' => 'contactnum', + 'unique' => [], + 'index' => [ [ 'prospectnum' ], [ 'custnum' ], [ 'locationnum' ], + [ 'last' ], [ 'first' ], + ], + }, + + 'contact_phone' => { + 'columns' => [ + 'contactphonenum', 'serial', '', '', '', '', + 'contactnum', 'int', '', '', '', '', + 'phonetypenum', 'int', '', '', '', '', + 'countrycode', 'varchar', '', 3, '', '', + 'phonenum', 'varchar', '', 14, '', '', + 'extension', 'varchar', '', 7, '', '', + #?#'comment', 'varchar', '', $char_d, '', '', + ], + 'primary_key' => 'contactphonenum', + 'unique' => [], + 'index' => [], + }, + + 'phone_type' => { + 'columns' => [ + 'phonetypenum', 'serial', '', '', '', '', + 'typename', 'varchar', '', $char_d, '', '', + 'weight', 'int', '', '', '', '', + ], + 'primary_key' => 'phonetypenum', + 'unique' => [ [ 'typename' ], ], + 'index' => [], + }, + + 'contact_email' => { + 'columns' => [ + 'contactemailnum', 'serial', '', '', '', '', + 'contactnum', 'int', '', '', '', '', + 'emailaddress', 'varchar', '', $char_d, '', '', + ], + 'primary_key' => 'contactemailnum', + 'unique' => [ [ 'emailaddress' ], ], + 'index' => [], + }, + + 'prospect_main' => { + 'columns' => [ + 'prospectnum', 'serial', '', '', '', '', + 'agentnum', 'int', '', '', '', '', + 'company', 'varchar', '', $char_d, '', '', + #'disabled', 'char', 'NULL', 1, '', '', + ], + 'primary_key' => 'prospectnum', + 'unique' => [], + 'index' => [ [ 'company' ], [ 'agentnum' ], ], + }, + #eventually use for billing & ship from cust_main too #for now, just cust_pkg locations - 'cust_location' => { + 'cust_location' => { #'location' now that its prospects too, but... 'columns' => [ 'locationnum', 'serial', '', '', '', '', - 'custnum', 'int', '', '', '', '', + 'prospectnum', 'int', 'NULL', '', '', '', + 'custnum', 'int', 'NULL', '', '', '', 'address1', 'varchar', '', $char_d, '', '', 'address2', 'varchar', 'NULL', $char_d, '', '', 'city', 'varchar', '', $char_d, '', '', @@ -817,7 +889,7 @@ sub tables_hashref { ], 'primary_key' => 'locationnum', 'unique' => [], - 'index' => [ [ 'custnum' ], + 'index' => [ [ 'prospectnum' ], [ 'custnum' ], [ 'county' ], [ 'state' ], [ 'country' ], [ 'zip' ], ], }, @@ -1237,6 +1309,49 @@ sub tables_hashref { 'index' => [ [ 'pkgnum' ], [ 'reasonnum' ], ['action'], ], }, + 'cust_pkg_discount' => { + 'columns' => [ + 'pkgdiscountnum', 'serial', '', '', '', '', + 'pkgnum', 'int', '', '', '', '', + 'discountnum', 'int', '', '', '', '', + 'months_used', 'decimal', 'NULL', '', '', '', + 'end_date', @date_type, '', '', + 'otaker', 'varchar', '', 32, '', '', + 'disabled', 'char', 'NULL', 1, '', '', + ], + 'primary_key' => 'pkgdiscountnum', + 'unique' => [], + 'index' => [ [ 'pkgnum' ], [ 'discountnum' ] ], + }, + + 'cust_bill_pkg_discount' => { + 'columns' => [ + 'billpkgdiscountnum', 'serial', '', '', '', '', + 'billpkgnum', 'int', '', '', '', '', + 'pkgdiscountnum', 'int', '', '', '', '', + 'amount', @money_type, '', '', + 'months', 'decimal', 'NULL', '', '', '', + ], + 'primary_key' => 'billpkgdiscountnum', + 'unique' => [], + 'index' => [ [ 'billpkgnum' ], [ 'pkgdiscountnum' ] ], + }, + + 'discount' => { + 'columns' => [ + 'discountnum', 'serial', '', '', '', '', + #'agentnum', 'int', 'NULL', '', '', '', + 'name', 'varchar', 'NULL', $char_d, '', '', + 'amount', @money_type, '', '', + 'percent', 'decimal', '', '', '', '', + 'months', 'decimal', 'NULL', '', '', '', + 'disabled', 'char', 'NULL', 1, '', '', + ], + 'primary_key' => 'discountnum', + 'unique' => [], + 'index' => [], # [ 'agentnum' ], ], + }, + 'cust_refund' => { 'columns' => [ 'refundnum', 'serial', '', '', '', '', @@ -1514,14 +1629,15 @@ sub tables_hashref { 'downbytes_threshold', 'bigint', 'NULL', '', '', '', 'totalbytes','bigint', 'NULL', '', '', '', 'totalbytes_threshold', 'bigint', 'NULL', '', '', '', - 'domsvc', 'int', '', '', '', '', + 'domsvc', 'int', '', '', '', '', + 'pbxsvc', 'int', 'NULL', '', '', '', 'last_login', @date_type, '', '', 'last_logout', @date_type, '', '', ], 'primary_key' => 'svcnum', #'unique' => [ [ 'username', 'domsvc' ] ], 'unique' => [], - 'index' => [ ['username'], ['domsvc'] ], + 'index' => [ ['username'], ['domsvc'], ['pbxsvc'] ], }, 'acct_rt_transaction' => { @@ -1557,9 +1673,10 @@ sub tables_hashref { 'parent_svcnum', 'int', 'NULL', '', '', '', 'registrarnum', 'int', 'NULL', '', '', '', 'registrarkey', 'varchar', 'NULL', 512, '', '', - 'setup_date', @date_type, '', '', + 'setup_date', @date_type, '', '', 'renewal_interval', 'int', 'NULL', '', '', '', 'expiration_date', @date_type, '', '', + 'max_accounts', 'int', 'NULL', '', '', '', ], 'primary_key' => 'svcnum', 'unique' => [ ], @@ -1735,6 +1852,17 @@ sub tables_hashref { 'index' => [ [ 'exportnum' ], [ 'svcpart' ] ], }, + 'export_device' => { + 'columns' => [ + 'exportdevicenum' => 'serial', '', '', '', '', + 'exportnum' => 'int', '', '', '', '', + 'devicepart' => 'int', '', '', '', '', + ], + 'primary_key' => 'exportdevicenum', + 'unique' => [ [ 'exportnum', 'devicepart' ] ], + 'index' => [ [ 'exportnum' ], [ 'devicepart' ] ], + }, + 'part_export' => { 'columns' => [ 'exportnum', 'serial', '', '', '', '', @@ -1804,13 +1932,15 @@ sub tables_hashref { 'taxnum', 'int', '', '', '', '', 'year', 'int', '', '', '', '', 'month', 'int', '', '', '', '', + 'creditbillpkgnum', 'int', 'NULL', '', '', '', 'amount', @money_type, '', '', ], 'primary_key' => 'exemptpkgnum', 'unique' => [], 'index' => [ [ 'taxnum', 'year', 'month' ], [ 'billpkgnum' ], - [ 'taxnum' ] + [ 'taxnum' ], + [ 'creditbillpkgnum' ], ], }, @@ -2440,10 +2570,11 @@ sub tables_hashref { 'pin', 'varchar', 'NULL', $char_d, '', '', 'sip_password', 'varchar', 'NULL', $char_d, '', '', 'phone_name', 'varchar', 'NULL', $char_d, '', '', + 'pbxsvc', 'int', 'NULL', '', '', '', ], 'primary_key' => 'svcnum', 'unique' => [], - 'index' => [ [ 'countrycode', 'phonenum' ] ], + 'index' => [ [ 'countrycode', 'phonenum' ], ['pbxsvc'] ], }, 'phone_device' => { @@ -2538,6 +2669,20 @@ sub tables_hashref { 'unique' => [ [ 'pkgnum', 'refnum' ] ], 'index' => [ [ 'pkgnum' ], [ 'refnum' ] ], }, + + 'svc_pbx' => { + 'columns' => [ + 'svcnum', 'int', '', '', '', '', + 'id', 'int', 'NULL', '', '', '', + 'title', 'varchar', 'NULL', $char_d, '', '', + 'max_extensions', 'int', 'NULL', '', '', '', + ], + 'primary_key' => 'svcnum', + 'unique' => [], + 'index' => [ [ 'id' ] ], + }, + + # name type nullability length default local #'new_table' => {