X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FSchema.pm;h=fdb4a94e66c27dd033d5e3640a440f70beae986e;hb=9e5512eacf9868dfaef17c4ce7112d06f768a525;hp=7c6548a894749380dabc809dd03fb9a42e1e556b;hpb=5b87686b7a7f09e766bb1749628365b81f4f72fc;p=freeside.git diff --git a/FS/FS/Schema.pm b/FS/FS/Schema.pm index 7c6548a89..fdb4a94e6 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('') @@ -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' => { @@ -1735,6 +1851,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', '', '', '', '', @@ -2442,10 +2569,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' => { @@ -2540,6 +2668,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' => {