X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2Fbin%2Ffreeside-setup;h=a2ef31eb1220b915d8a17e15f502d108806f4ffe;hp=1c5c3d20478b6032cd27e6e34823d9a907481969;hb=c2146ae32fdef80049abfa13098db2d45f3ebdd5;hpb=e0ec77941cb7e543f32f6353d9d575d9293f6442 diff --git a/FS/bin/freeside-setup b/FS/bin/freeside-setup index 1c5c3d204..a2ef31eb1 100755 --- a/FS/bin/freeside-setup +++ b/FS/bin/freeside-setup @@ -9,7 +9,7 @@ use Getopt::Std; use Locale::Country; use Locale::SubCountry; use DBI; -use DBIx::DBSchema 0.21; +use DBIx::DBSchema 0.25; use DBIx::DBSchema::Table; use DBIx::DBSchema::Column; use DBIx::DBSchema::ColGroup::Unique; @@ -142,7 +142,11 @@ foreach $attribute (@check_attributes) { } #create history tables (false laziness w/create-history-tables) -foreach my $table ( grep { ! /^h_/ } $dbdef->tables ) { +foreach my $table ( + grep { ! /^clientapi_session/ } + grep { ! /^h_/ } + $dbdef->tables +) { my $tableobj = $dbdef->table($table) or die "unknown table $table"; @@ -339,10 +343,11 @@ sub tables_hash_hack { 'type_pkgs' => { 'columns' => [ + 'typepkgnum', 'serial', '', '', 'typenum', 'int', '', '', 'pkgpart', 'int', '', '', ], - 'primary_key' => '', + 'primary_key' => 'typepkgnum', 'unique' => [ ['typenum', 'pkgpart'] ], 'index' => [ ['typenum'] ], }, @@ -395,6 +400,7 @@ sub tables_hash_hack { 'cust_bill_pkg' => { 'columns' => [ + 'billpkgnum', 'serial', '', '', 'pkgnum', 'int', '', '', 'invnum', 'int', '', '', 'setup', @money_type, @@ -403,7 +409,7 @@ sub tables_hash_hack { 'edate', @date_type, 'itemdesc', 'varchar', 'NULL', $char_d, ], - 'primary_key' => '', + 'primary_key' => 'billpkgnum', 'unique' => [], 'index' => [ ['invnum'] ], }, @@ -463,7 +469,7 @@ sub tables_hash_hack { 'city', 'varchar', '', $char_d, 'county', 'varchar', 'NULL', $char_d, 'state', 'varchar', 'NULL', $char_d, - 'zip', 'varchar', '', 10, + 'zip', 'varchar', 'NULL', 10, 'country', 'char', '', 2, 'daytime', 'varchar', 'NULL', 20, 'night', 'varchar', 'NULL', 20, @@ -483,8 +489,9 @@ sub tables_hash_hack { 'ship_night', 'varchar', 'NULL', 20, 'ship_fax', 'varchar', 'NULL', 12, 'payby', 'char', '', 4, - 'payinfo', 'varchar', 'NULL', $char_d, - 'paycvv', 'varchar', 'NULL', 4, + 'payinfo', 'varchar', 'NULL', 512, + 'paycvv', 'varchar', 'NULL', 512, + 'paymask', 'varchar', 'NULL', $char_d, #'paydate', @date_type, 'paydate', 'varchar', 'NULL', 10, 'payname', 'varchar', 'NULL', $char_d, @@ -597,7 +604,7 @@ sub tables_hash_hack { 'address2', 'varchar', 'NULL', $char_d, 'city', 'varchar', '', $char_d, 'state', 'varchar', 'NULL', $char_d, - 'zip', 'varchar', '', 10, + 'zip', 'varchar', 'NULL', 10, 'country', 'char', '', 2, # 'trancode', 'int', '', '', 'cardnum', 'varchar', '', 16, @@ -708,12 +715,13 @@ sub tables_hash_hack { 'pkg_svc' => { 'columns' => [ + 'pkgsvcnum', 'serial', '', '', 'pkgpart', 'int', '', '', 'svcpart', 'int', '', '', 'quantity', 'int', '', '', 'primary_svc','char', 'NULL', 1, ], - 'primary_key' => '', + 'primary_key' => 'pkgsvcnum', 'unique' => [ ['pkgpart', 'svcpart'] ], 'index' => [ ['pkgpart'] ], }, @@ -886,6 +894,7 @@ sub tables_hash_hack { 'identifier', 'varchar', '', $char_d, 'amount', @money_type, 'seconds', 'int', 'NULL', '', + 'agentnum', 'int', 'NULL', '', ], 'primary_key' => 'prepaynum', 'unique' => [ ['identifier'] ], @@ -1052,10 +1061,11 @@ sub tables_hash_hack { 'part_svc_router' => { 'columns' => [ + 'svcrouternum', 'serial', '', '', 'svcpart', 'int', '', '', 'routernum', 'int', '', '', ], - 'primary_key' => '', + 'primary_key' => 'svcrouternum', 'unique' => [], 'index' => [], }, @@ -1102,11 +1112,12 @@ sub tables_hash_hack { 'virtual_field' => { 'columns' => [ + 'vfieldnum', 'serial', '', '', 'recnum', 'int', '', '', 'vfieldpart', 'int', '', '', 'value', 'varchar', '', 128, ], - 'primary_key' => '', + 'primary_key' => 'vfieldnum', 'unique' => [ [ 'vfieldpart', 'recnum' ] ], 'index' => [], }, @@ -1173,6 +1184,7 @@ sub tables_hash_hack { 'rate_detail' => { 'columns' => [ + 'ratedetailnum', 'serial', '', '', 'ratenum', 'int', '', '', 'orig_regionnum', 'int', 'NULL', '', 'dest_regionnum', 'int', '', '', @@ -1181,7 +1193,7 @@ sub tables_hash_hack { 'sec_granularity', 'int', '', '', #time period (link to table of periods)? ], - 'primary_key' => '', + 'primary_key' => 'ratedetailnum', 'unique' => [ [ 'ratenum', 'orig_regionnum', 'dest_regionnum' ] ], 'index' => [], }, @@ -1209,6 +1221,50 @@ sub tables_hash_hack { 'index' => [ [ 'countrycode' ], [ 'regionnum' ] ], }, + 'reg_code' => { + 'columns' => [ + 'codenum', 'serial', '', '', + 'code', 'varchar', '', $char_d, + 'agentnum', 'int', '', '', + ], + 'primary_key' => 'codenum', + 'unique' => [ [ 'agentnum', 'code' ] ], + 'index' => [ [ 'agentnum' ] ], + }, + + 'reg_code_pkg' => { + 'columns' => [ + 'codepkgnum', 'serial', '', '', + 'codenum', 'int', '', '', + 'pkgpart', 'int', '', '', + ], + 'primary_key' => 'codepkgnum', + 'unique' => [ [ 'codenum', 'pkgpart' ] ], + 'index' => [ [ 'codenum' ] ], + }, + + 'clientapi_session' => { + 'columns' => [ + 'sessionnum', 'serial', '', '', + 'sessionid', 'varchar', '', $char_d, + 'namespace', 'varchar', '', $char_d, + ], + 'primary_key' => 'sessionnum', + 'unique' => [ [ 'sessionid', 'namespace' ] ], + 'index' => [], + }, + + 'clientapi_session_field' => { + 'columns' => [ + 'fieldnum', 'serial', '', '', + 'sessionnum', 'int', '', '', + 'fieldname', 'varchar', '', $char_d, + 'fieldvalue', 'text', 'NULL', '', + ], + 'primary_key' => 'fieldnum', + 'unique' => [ [ 'sessionnum', 'fieldname' ] ], + 'index' => [], + }, );