X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=bin%2Ffs-setup;h=9522ce370e67f2e7449138082d8fcdeff4356982;hb=21b3f9beaa73e13f7d5499c4852192594d20f5fb;hp=535408891e93d0ba6f3889637579c3ab2ad62e65;hpb=a7c1b602f88c177db34477ed4cdc1f72603f8995;p=freeside.git diff --git a/bin/fs-setup b/bin/fs-setup index 535408891..9522ce370 100755 --- a/bin/fs-setup +++ b/bin/fs-setup @@ -1,6 +1,6 @@ #!/usr/bin/perl -Tw # -# $Id: fs-setup,v 1.87 2002-04-11 22:05:31 ivan Exp $ +# $Id: fs-setup,v 1.96 2002-07-06 12:13:49 ivan Exp $ #to delay loading dbdef until we're ready BEGIN { $FS::Record::setup_hack = 1; } @@ -162,7 +162,14 @@ foreach $attribute (@check_attributes) { #create history tables (false laziness w/create-history-tables) foreach my $table ( grep { ! /^h_/ } $dbdef->tables ) { - my $tableobj = $dbdef->table($table); + my $tableobj = $dbdef->table($table) + or die "unknown table $table"; + + die "unique->lol_ref undefined for $table" + unless defined $tableobj->unique->lol_ref; + die "index->lol_ref undefined for $table" + unless defined $tableobj->index->lol_ref; + my $h_tableobj = DBIx::DBSchema::Table->new( { name => "h_$table", primary_key => 'historynum', @@ -334,7 +341,7 @@ sub tables_hash_hack { 'prog', @perl_type, ], 'primary_key' => 'agentnum', - 'unique' => [ [] ], + 'unique' => [], 'index' => [ ['typenum'] ], }, @@ -344,8 +351,8 @@ sub tables_hash_hack { 'atype', 'varchar', '', $char_d, ], 'primary_key' => 'typenum', - 'unique' => [ [] ], - 'index' => [ [] ], + 'unique' => [], + 'index' => [], }, 'type_pkgs' => { @@ -368,7 +375,7 @@ sub tables_hash_hack { 'closed', 'char', 'NULL', 1, ], 'primary_key' => 'invnum', - 'unique' => [ [] ], + 'unique' => [], 'index' => [ ['custnum'] ], }, @@ -382,7 +389,8 @@ sub tables_hash_hack { 'statustext', 'text', 'NULL', '', ], 'primary_key' => 'eventnum', - 'unique' => [ [ 'eventpart', 'invnum' ] ], + #no... there are retries now #'unique' => [ [ 'eventpart', 'invnum' ] ], + 'unique' => [], 'index' => [ ['invnum'], ['status'] ], }, @@ -399,7 +407,7 @@ sub tables_hash_hack { 'disabled', 'char', 'NULL', 1, ], 'primary_key' => 'eventpart', - 'unique' => [ [] ], + 'unique' => [], 'index' => [ ['payby'] ], }, @@ -428,7 +436,7 @@ sub tables_hash_hack { 'closed', 'char', 'NULL', 1, ], 'primary_key' => 'crednum', - 'unique' => [ [] ], + 'unique' => [], 'index' => [ ['custnum'] ], }, @@ -441,7 +449,7 @@ sub tables_hash_hack { 'amount', @money_type, ], 'primary_key' => 'creditbillnum', - 'unique' => [ [] ], + 'unique' => [], 'index' => [ ['crednum'], ['invnum'] ], }, @@ -491,7 +499,7 @@ sub tables_hash_hack { 'comments', 'text', 'NULL', '', ], 'primary_key' => 'custnum', - 'unique' => [ [] ], + 'unique' => [], #'index' => [ ['last'], ['company'] ], 'index' => [ ['last'], [ 'company' ], [ 'referral_custnum' ] ], }, @@ -503,7 +511,7 @@ sub tables_hash_hack { 'dest', 'varchar', '', $char_d, ], 'primary_key' => 'destnum', - 'unique' => [ [] ], + 'unique' => [], 'index' => [ ['custnum'], ], }, @@ -515,12 +523,14 @@ sub tables_hash_hack { 'state', 'varchar', 'NULL', $char_d, 'county', 'varchar', 'NULL', $char_d, 'country', 'char', '', 2, + 'taxclass', 'varchar', 'NULL', $char_d, + 'exempt_amount', @money_type, 'tax', 'real', '', '', #tax % ], 'primary_key' => 'taxnum', - 'unique' => [ [] ], + 'unique' => [], # 'unique' => [ ['taxnum'], ['state', 'county'] ], - 'index' => [ [] ], + 'index' => [], }, 'cust_pay' => { @@ -537,7 +547,7 @@ sub tables_hash_hack { 'closed', 'char', 'NULL', 1, ], 'primary_key' => 'paynum', - 'unique' => [ [] ], + 'unique' => [], 'index' => [ [ 'custnum' ], [ 'paybatch' ] ], }, @@ -550,7 +560,7 @@ sub tables_hash_hack { '_date', @date_type ], 'primary_key' => 'billpaynum', - 'unique' => [ [] ], + 'unique' => [], 'index' => [ [ 'paynum' ], [ 'invnum' ] ], }, @@ -565,7 +575,7 @@ sub tables_hash_hack { 'address1', 'varchar', '', $char_d, 'address2', 'varchar', 'NULL', $char_d, 'city', 'varchar', '', $char_d, - 'state', 'varchar', '', $char_d, + 'state', 'varchar', 'NULL', $char_d, 'zip', 'varchar', '', 10, 'country', 'char', '', 2, # 'trancode', 'int', '', '', @@ -576,7 +586,7 @@ sub tables_hash_hack { 'amount', @money_type, ], 'primary_key' => 'paybatchnum', - 'unique' => [ [] ], + 'unique' => [], 'index' => [ ['invnum'], ['custnum'] ], }, @@ -594,7 +604,7 @@ sub tables_hash_hack { 'manual_flag', 'char', 'NULL', 1, ], 'primary_key' => 'pkgnum', - 'unique' => [ [] ], + 'unique' => [], 'index' => [ ['custnum'] ], }, @@ -614,8 +624,8 @@ sub tables_hash_hack { 'closed', 'char', 'NULL', 1, ], 'primary_key' => 'refundnum', - 'unique' => [ [] ], - 'index' => [ [] ], + 'unique' => [], + 'index' => [], }, 'cust_credit_refund' => { @@ -627,7 +637,7 @@ sub tables_hash_hack { '_date', @date_type ], 'primary_key' => 'creditrefundnum', - 'unique' => [ [] ], + 'unique' => [], 'index' => [ [ 'crednum', 'refundnum' ] ], }, @@ -639,7 +649,7 @@ sub tables_hash_hack { 'svcpart', 'int', '', '', ], 'primary_key' => 'svcnum', - 'unique' => [ [] ], + 'unique' => [], 'index' => [ ['svcnum'], ['pkgnum'], ['svcpart'] ], }, @@ -656,10 +666,11 @@ sub tables_hash_hack { 'plan', 'varchar', 'NULL', $char_d, 'plandata', 'text', 'NULL', '', 'disabled', 'char', 'NULL', 1, + 'taxclass', 'varchar', 'NULL', $char_d, ], 'primary_key' => 'pkgpart', - 'unique' => [ [] ], - 'index' => [ [] ], + 'unique' => [], + 'index' => [], }, # 'part_title' => { @@ -689,8 +700,8 @@ sub tables_hash_hack { 'referral', 'varchar', '', $char_d, ], 'primary_key' => 'refnum', - 'unique' => [ [] ], - 'index' => [ [] ], + 'unique' => [], + 'index' => [], }, 'part_svc' => { @@ -701,8 +712,8 @@ sub tables_hash_hack { 'disabled', 'char', 'NULL', 1, ], 'primary_key' => 'svcpart', - 'unique' => [ [] ], - 'index' => [ [] ], + 'unique' => [], + 'index' => [], }, 'part_svc_column' => { @@ -729,7 +740,7 @@ sub tables_hash_hack { 'loc', 'char', 'NULL', 4, #NULL for legacy purposes ], 'primary_key' => 'popnum', - 'unique' => [ [] ], + 'unique' => [], 'index' => [ [ 'state' ] ], }, @@ -743,7 +754,7 @@ sub tables_hash_hack { 'nxx', 'char', '', 3, ], 'primary_key' => 'localnum', - 'unique' => [ [] ], + 'unique' => [], 'index' => [ [ 'npa', 'nxx' ], [ 'popnum' ] ], }, @@ -765,7 +776,8 @@ sub tables_hash_hack { 'domsvc', 'int', '', '', ], 'primary_key' => 'svcnum', - 'unique' => [ [ 'username', 'domsvc' ] ], + #'unique' => [ [ 'username', 'domsvc' ] ], + 'unique' => [], 'index' => [ ['username'], ['domsvc'] ], }, @@ -799,7 +811,7 @@ sub tables_hash_hack { ], 'primary_key' => 'svcnum', 'unique' => [ ['domain'] ], - 'index' => [ [] ], + 'index' => [], }, 'domain_record' => { @@ -812,7 +824,7 @@ sub tables_hash_hack { 'recdata', 'varchar', '', $char_d, ], 'primary_key' => 'recnum', - 'unique' => [ [] ], + 'unique' => [], 'index' => [ ['svcnum'] ], }, @@ -824,7 +836,7 @@ sub tables_hash_hack { 'dst', 'varchar', 'NULL', $char_d, ], 'primary_key' => 'svcnum', - 'unique' => [ [] ], + 'unique' => [], 'index' => [ ['srcsvc'], ['dstsvc'] ], }, @@ -835,8 +847,8 @@ sub tables_hash_hack { 'usersvc', 'int', '', '', ], 'primary_key' => 'svcnum', - 'unique' => [ [] ], - 'index' => [ [] ], + 'unique' => [], + 'index' => [], }, #'svc_wo' => { @@ -861,7 +873,7 @@ sub tables_hash_hack { ], 'primary_key' => 'prepaynum', 'unique' => [ ['identifier'] ], - 'index' => [ [] ], + 'index' => [], }, 'port' => { @@ -927,12 +939,23 @@ sub tables_hash_hack { 'index' => [ [ 'jobnum' ] ], }, + 'queue_depend' => { + 'columns' => [ + 'dependnum', 'int', '', '', + 'jobnum', 'int', '', '', + 'depend_jobnum', 'int', '', '', + ], + 'primary_key' => 'dependnum', + 'unique' => [], + 'index' => [ [ 'jobnum' ], [ 'depend_jobnum' ] ], + }, + 'export_svc' => { 'columns' => [ 'exportsvcnum' => 'int', '', '', 'exportnum' => 'int', '', '', 'svcpart' => 'int', '', '', - ] + ], 'primary_key' => 'exportsvcnum', 'unique' => [ [ 'exportnum', 'svcpart' ] ], 'index' => [ [ 'exportnum' ], [ 'svcpart' ] ], @@ -986,6 +1009,22 @@ sub tables_hash_hack { 'index' => [], }, + 'cust_tax_exempt' => { + 'columns' => [ + 'exemptnum', 'int', '', '', + 'custnum', 'int', '', '', + 'taxnum', 'int', '', '', + 'year', 'int', '', '', + 'month', 'int', '', '', + 'amount', @money_type, + ], + 'primary_key' => 'exemptnum', + 'unique' => [ [ 'custnum', 'taxnum', 'year', 'month' ] ], + 'index' => [], + }, + + + ); %tables;