X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FSchema.pm;h=2ce1794c816a501a734472366702e9c54cd32d23;hb=a6d95e4768df94eb5e015b1156260d92621cbae0;hp=f1cc09c028d13f074b5b4bd307bd8e925f3e17e5;hpb=e497261817ee2cf3acb5ee3dda3c5906f1c13a4f;p=freeside.git diff --git a/FS/FS/Schema.pm b/FS/FS/Schema.pm index f1cc09c02..2ce1794c8 100644 --- a/FS/FS/Schema.pm +++ b/FS/FS/Schema.pm @@ -236,6 +236,10 @@ sub dbdef_dist { } + my $primary_key_col = $tableobj->column($tableobj->primary_key) + or die "$table: primary key declared as ". $tableobj->primary_key. + ", but no column of that name\n"; + my $historynum_type = ( $tableobj->column($tableobj->primary_key)->type =~ /^(bigserial|bigint|int8)$/i ? 'bigserial' @@ -768,24 +772,26 @@ sub tables_hashref { 'cust_bill_pkg' => { 'columns' => [ - 'billpkgnum', 'serial', '', '', '', '', - 'invnum', 'int', '', '', '', '', - 'pkgnum', 'int', '', '', '', '', - 'pkgpart_override', 'int', 'NULL', '', '', '', - 'setup', @money_type, '', '', - 'recur', @money_type, '', '', - #XXX a currency for a line item? or just one for the entire invoice - #'currency', 'char', 'NULL', 3, '', '', - 'sdate', @date_type, '', '', - 'edate', @date_type, '', '', - 'itemdesc', 'varchar', 'NULL', $char_d, '', '', - 'itemcomment', 'varchar', 'NULL', $char_d, '', '', - 'section', 'varchar', 'NULL', $char_d, '', '', - 'freq', 'varchar', 'NULL', $char_d, '', '', - 'quantity', 'int', 'NULL', '', '', '', - 'unitsetup', @money_typen, '', '', - 'unitrecur', @money_typen, '', '', - 'hidden', 'char', 'NULL', 1, '', '', + 'billpkgnum', 'serial', '', '', '', '', + 'invnum', 'int', '', '', '', '', + 'pkgnum', 'int', '', '', '', '', + 'pkgpart_override', 'int', 'NULL', '', '', '', + 'setup', @money_type, '', '', + 'unitsetup', @money_typen, '', '', + 'setup_billed_currency', 'char', 'NULL', 3, '', '', + 'setup_billed_amount', @money_typen, '', '', + 'recur', @money_type, '', '', + 'unitrecur', @money_typen, '', '', + 'recur_billed_currency', 'char', 'NULL', 3, '', '', + 'recur_billed_amount', @money_typen, '', '', + 'sdate', @date_type, '', '', + 'edate', @date_type, '', '', + 'itemdesc', 'varchar', 'NULL', $char_d, '', '', + 'itemcomment', 'varchar', 'NULL', $char_d, '', '', + 'section', 'varchar', 'NULL', $char_d, '', '', + 'freq', 'varchar', 'NULL', $char_d, '', '', + 'quantity', 'int', 'NULL', '', '', '', + 'hidden', 'char', 'NULL', 1, '', '', ], 'primary_key' => 'billpkgnum', 'unique' => [], @@ -839,7 +845,6 @@ sub tables_hashref { 'locationnum', 'int', '', '', '', '', #redundant 'amount', @money_type, '', '', 'currency', 'char', 'NULL', 3, '', '', - 'amount', @money_type, '', '', 'taxable_billpkgnum', 'int', 'NULL', '', '', '', ], 'primary_key' => 'billpkgtaxlocationnum', @@ -947,6 +952,7 @@ sub tables_hashref { 'locationnum', 'int', '', '', '', '', #redundant? 'amount', @money_type, '', '', 'currency', 'char', 'NULL', 3, '', '', + 'taxable_billpkgnum', 'int', 'NULL', '', '', '', ], 'primary_key' => 'billpkgtaxlocationnum', 'unique' => [], @@ -1082,6 +1088,8 @@ sub tables_hashref { 'ship_fax', 'varchar', 'NULL', 12, '', '', 'ship_mobile', 'varchar', 'NULL', 12, '', '', 'currency', 'char', 'NULL', 3, '', '', + + #deprecated, info moved to cust_payby 'payby', 'char', '', 4, '', '', 'payinfo', 'varchar', 'NULL', 512, '', '', 'paycvv', 'varchar', 'NULL', 512, '', '', @@ -1095,6 +1103,7 @@ sub tables_hashref { 'paystate', 'varchar', 'NULL', $char_d, '', '', 'paytype', 'varchar', 'NULL', $char_d, '', '', 'payip', 'varchar', 'NULL', 15, '', '', + 'geocode', 'varchar', 'NULL', 20, '', '', 'censustract', 'varchar', 'NULL', 20, '', '', # 7 to save space? 'censusyear', 'char', 'NULL', 4, '', '', @@ -1136,6 +1145,31 @@ sub tables_hashref { ], }, + 'cust_payby' => { + 'columns' => [ + 'custpaybynum', 'serial', '', '', '', '', + 'custnum', 'int', '', '', '', '', + 'weight', 'int', '', '', '', '', + 'payby', 'char', '', 4, '', '', + 'payinfo', 'varchar', 'NULL', 512, '', '', + 'paycvv', 'varchar', 'NULL', 512, '', '', + 'paymask', 'varchar', 'NULL', $char_d, '', '', + #'paydate', @date_type, '', '', + 'paydate', 'varchar', 'NULL', 10, '', '', + 'paystart_month', 'int', 'NULL', '', '', '', + 'paystart_year', 'int', 'NULL', '', '', '', + 'payissue', 'varchar', 'NULL', 2, '', '', + 'payname', 'varchar', 'NULL', 2*$char_d, '', '', + 'paystate', 'varchar', 'NULL', $char_d, '', '', + 'paytype', 'varchar', 'NULL', $char_d, '', '', + 'payip', 'varchar', 'NULL', 15, '', '', + 'locationnum', 'int', 'NULL', '', '', '', + ], + 'primary_key' => 'custpaybynum', + 'unique' => [], + 'index' => [ [ 'custnum' ] ], + }, + 'cust_recon' => { # (some sort of not-well understood thing for OnPac) 'columns' => [ 'reconid', 'serial', '', '', '', '', @@ -1228,7 +1262,7 @@ sub tables_hashref { 'emailaddress', 'varchar', '', $char_d, '', '', ], 'primary_key' => 'contactemailnum', - 'unique' => [ [ 'emailaddress' ], ], + 'unique' => [ [ 'contactnum', 'emailaddress' ], ], 'index' => [], }, @@ -1574,6 +1608,9 @@ sub tables_hashref { #'cust_balance', @money_type, '', '', 'paynum', 'int', 'NULL', '', '', '', 'jobnum', 'bigint', 'NULL', '', '', '', + 'invnum', 'int', 'NULL', '', '', '', + 'manual', 'char', 'NULL', 1, '', '', + 'discount_term','int', 'NULL', '', '', '', ], 'primary_key' => 'paypendingnum', 'unique' => [ [ 'payunique' ] ], @@ -1793,6 +1830,7 @@ sub tables_hashref { 'waive_setup', 'char', 'NULL', 1, '', '', 'recur_show_zero', 'char', 'NULL', 1, '', '', 'setup_show_zero', 'char', 'NULL', 1, '', '', + 'change_to_pkgnum', 'int', 'NULL', '', '', '', ], 'primary_key' => 'pkgnum', 'unique' => [], @@ -2045,6 +2083,7 @@ sub tables_hashref { 'setup_show_zero', 'char', 'NULL', 1, '', '', 'successor', 'int', 'NULL', '', '', '', 'family_pkgpart','int', 'NULL', '', '', '', + 'delay_start', 'int', 'NULL', '', '', '', ], 'primary_key' => 'pkgpart', 'unique' => [], @@ -2186,16 +2225,17 @@ sub tables_hashref { 'pkg_svc' => { 'columns' => [ - 'pkgsvcnum', 'serial', '', '', '', '', - 'pkgpart', 'int', '', '', '', '', - 'svcpart', 'int', '', '', '', '', - 'quantity', 'int', '', '', '', '', - 'primary_svc','char', 'NULL', 1, '', '', - 'hidden', 'char', 'NULL', 1, '', '', + 'pkgsvcnum', 'serial', '', '', '', '', + 'pkgpart', 'int', '', '', '', '', + 'svcpart', 'int', '', '', '', '', + 'quantity', 'int', '', '', '', '', + 'primary_svc', 'char', 'NULL', 1, '', '', + 'hidden', 'char', 'NULL', 1, '', '', + 'bulk_skip', 'char', 'NULL', 1, '', '', ], 'primary_key' => 'pkgsvcnum', - 'unique' => [ ['pkgpart', 'svcpart'] ], - 'index' => [ ['pkgpart'], ['quantity'] ], + 'unique' => [ ['pkgpart', 'svcpart'] ], + 'index' => [ ['pkgpart'], ['quantity'] ], }, 'part_referral' => { @@ -3778,7 +3818,7 @@ sub tables_hashref { 'lnp_other_provider_account', 'varchar', 'NULL', $char_d, '', '', 'lnp_reject_reason', 'varchar', 'NULL', $char_d, '', '', 'sms_carrierid', 'int', 'NULL', '', '', '', - 'sms_account', 'varchar', 'NULL', '', '', '', + 'sms_account', 'varchar', 'NULL', $char_d, '', '', 'max_simultaneous', 'int', 'NULL', '', '', '', ], 'primary_key' => 'svcnum', @@ -4222,6 +4262,66 @@ sub tables_hashref { 'index' => [ [ 'devicepart' ], [ 'svcnum' ], ], }, + 'vend_main' => { + 'columns' => [ + 'vendnum', 'serial', '', '', '', '', + 'vendname', 'varchar', '', $char_d, '', '', + 'classnum', 'int', '', '', '', '', + 'disabled', 'char', 'NULL', 1, '', '', + ], + 'primary_key' => 'vendnum', + 'unique' => [ ['vendname', 'disabled'] ], + 'index' => [], + }, + + 'vend_class' => { + 'columns' => [ + 'classnum', 'serial', '', '', '', '', + 'classname', 'varchar', '', $char_d, '', '', + 'disabled', 'char', 'NULL', 1, '', '', + ], + 'primary_key' => 'classnum', + 'unique' => [], + 'index' => [ ['disabled'] ], + }, + + 'vend_bill' => { + 'columns' => [ + 'vendbillnum', 'serial', '', '', '', '', + 'vendnum', 'int', '', '', '', '', + '_date', @date_type, '', '', + 'charged', @money_type, '', '', + ], + 'primary_key' => 'vendbillnum', + 'unique' => [], + 'index' => [ ['vendnum'], ['_date'], ], + }, + + 'vend_pay' => { + 'columns' => [ + 'vendpaynum', 'serial', '', '', '', '', + 'vendnum', 'int', '', '', '', '', + '_date', @date_type, '', '', + 'paid', @money_type, '', '', + ], + 'primary_key' => 'vendpaynum', + 'unique' => [], + 'index' => [ [ 'vendnum' ], [ '_date' ], ], + }, + + 'vend_bill_pay' => { + 'columns' => [ + 'vendbillpaynum', 'serial', '', '', '', '', + 'vendbillnum', 'int', '', '', '', '', + 'vendpaynum', 'int', '', '', '', '', + 'amount', @money_type, '', '', + #? '_date', @date_type, '', '', + ], + 'primary_key' => 'vendbillpaynum', + 'unique' => [], + 'index' => [ [ 'vendbillnum' ], [ 'vendpaynum' ] ], + }, + %{ tables_hashref_torrus() }, # tables of ours for doing torrus virtual port combining