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;
}
#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";
#billing events
foreach my $aref (
- [ 'COMP', 'Comp invoice', '$cust_bill->comp();', 30, 'comp' ],
+ #[ 'COMP', 'Comp invoice', '$cust_bill->comp();', 30, 'comp' ],
[ 'CARD', 'Batch card', '$cust_bill->batch_card();', 40, 'batch-card' ],
[ 'BILL', 'Send invoice', '$cust_bill->send();', 50, 'send' ],
[ 'DCRD', 'Send invoice', '$cust_bill->send();', 50, 'send' ],
'type_pkgs' => {
'columns' => [
+ 'typepkgnum', 'serial', '', '',
'typenum', 'int', '', '',
'pkgpart', 'int', '', '',
],
- 'primary_key' => '',
+ 'primary_key' => 'typepkgnum',
'unique' => [ ['typenum', 'pkgpart'] ],
'index' => [ ['typenum'] ],
},
'cust_bill_pkg' => {
'columns' => [
+ 'billpkgnum', 'serial', '', '',
'pkgnum', 'int', '', '',
'invnum', 'int', '', '',
'setup', @money_type,
'edate', @date_type,
'itemdesc', 'varchar', 'NULL', $char_d,
],
- 'primary_key' => '',
+ 'primary_key' => 'billpkgnum',
'unique' => [],
'index' => [ ['invnum'] ],
},
'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,
'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,
'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,
'pkgpart', 'serial', '', '',
'pkg', 'varchar', '', $char_d,
'comment', 'varchar', '', $char_d,
+ 'promo_code', 'varchar', 'NULL', $char_d,
'setup', @perl_type,
'freq', 'varchar', '', $char_d, #billing frequency
'recur', @perl_type,
],
'primary_key' => 'pkgpart',
'unique' => [],
- 'index' => [ [ 'disabled' ], ],
+ 'index' => [ [ 'promo_code' ], [ 'disabled' ] ],
},
# 'part_title' => {
'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'] ],
},
'identifier', 'varchar', '', $char_d,
'amount', @money_type,
'seconds', 'int', 'NULL', '',
+ 'agentnum', 'int', 'NULL', '',
],
'primary_key' => 'prepaynum',
'unique' => [ ['identifier'] ],
'part_svc_router' => {
'columns' => [
+ 'svcrouternum', 'serial', '', '',
'svcpart', 'int', '', '',
'routernum', 'int', '', '',
],
- 'primary_key' => '',
+ 'primary_key' => 'svcrouternum',
'unique' => [],
'index' => [],
},
'virtual_field' => {
'columns' => [
+ 'vfieldnum', 'serial', '', '',
'recnum', 'int', '', '',
'vfieldpart', 'int', '', '',
'value', 'varchar', '', 128,
],
- 'primary_key' => '',
+ 'primary_key' => 'vfieldnum',
'unique' => [ [ 'vfieldpart', 'recnum' ] ],
'index' => [],
},
'index' => [ [ 'pkgpart' ], [ 'optionname' ] ],
},
+ 'rate' => {
+ 'columns' => [
+ 'ratenum', 'serial', '', '',
+ 'ratename', 'varchar', '', $char_d,
+ ],
+ 'primary_key' => 'ratenum',
+ 'unique' => [],
+ 'index' => [],
+ },
+
+ 'rate_detail' => {
+ 'columns' => [
+ 'ratedetailnum', 'serial', '', '',
+ 'ratenum', 'int', '', '',
+ 'orig_regionnum', 'int', 'NULL', '',
+ 'dest_regionnum', 'int', '', '',
+ 'min_included', 'int', '', '',
+ 'min_charge', @money_type,
+ 'sec_granularity', 'int', '', '',
+ #time period (link to table of periods)?
+ ],
+ 'primary_key' => 'ratedetailnum',
+ 'unique' => [ [ 'ratenum', 'orig_regionnum', 'dest_regionnum' ] ],
+ 'index' => [],
+ },
+
+ 'rate_region' => {
+ 'columns' => [
+ 'regionnum', 'serial', '', '',
+ 'regionname', 'varchar', '', $char_d,
+ ],
+ 'primary_key' => 'regionnum',
+ 'unique' => [],
+ 'index' => [],
+ },
+
+ 'rate_prefix' => {
+ 'columns' => [
+ 'prefixnum', 'serial', '', '',
+ 'regionnum', 'int', '', '',,
+ 'countrycode', 'varchar', '', 3,
+ 'npa', 'varchar', 'NULL', 6,
+ 'nxx', 'varchar', 'NULL', 3,
+ ],
+ 'primary_key' => 'prefixnum',
+ 'unique' => [],
+ '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' => [],
+ },
+
);
%tables;