my $tableobj = $dbdef->table($table)
or die "unknown table $table";
- my %indices = $tableobj->indices;
+ my %h_indices = ();
+
+ unless ( $table eq 'cust_event' ) { #others?
+
+ my %indices = $tableobj->indices;
- my %h_indices = map {
- ( "h_$_" =>
- DBIx::DBSchema::Index->new({
- 'name' => 'h_'. $indices{$_}->name,
- 'unique' => 0,
- 'columns' => [ @{$indices{$_}->columns} ],
- })
- );
- }
- keys %indices;
-
- $h_indices{"h_${table}_srckey"} = DBIx::DBSchema::Index->new({
- 'name' => "h_${table}_srckey",
- 'unique' => 0,
- 'columns' => [ 'history_action', #right?
- $tableobj->primary_key,
- ],
- });
-
- $h_indices{"h_${table}_srckey2"} = DBIx::DBSchema::Index->new({
- 'name' => "h_${table}_srckey2",
- 'unique' => 0,
- 'columns' => [ 'history_date',
- $tableobj->primary_key,
- ],
- });
+ %h_indices = map {
+ ( "h_$_" =>
+ DBIx::DBSchema::Index->new({
+ 'name' => 'h_'. $indices{$_}->name,
+ 'unique' => 0,
+ 'columns' => [ @{$indices{$_}->columns} ],
+ })
+ );
+ }
+ keys %indices;
+
+ $h_indices{"h_${table}_srckey"} =
+ DBIx::DBSchema::Index->new({
+ 'name' => "h_${table}_srckey",
+ 'unique' => 0,
+ 'columns' => [ 'history_action', #right?
+ $tableobj->primary_key,
+ ],
+ });
+
+ $h_indices{"h_${table}_srckey2"} =
+ DBIx::DBSchema::Index->new({
+ 'name' => "h_${table}_srckey2",
+ 'unique' => 0,
+ 'columns' => [ 'history_date',
+ $tableobj->primary_key,
+ ],
+ });
+
+ }
my $h_tableobj = DBIx::DBSchema::Table->new( {
'name' => "h_$table",
'credit_limit', @money_typen, '', '',
'archived', 'char', 'NULL', 1, '', '',
'email_csv_cdr', 'char', 'NULL', 1, '', '',
+ 'accountcode_cdr', 'char', 'NULL', 1, '', '',
+ 'billday', 'int', 'NULL', '', '', '',
],
'primary_key' => 'custnum',
'unique' => [ [ 'agentnum', 'agent_custid' ] ],
'index' => [ ['batchnum'], ['invnum'], ['custnum'] ],
},
+ 'fcc477map' => {
+ 'columns' => [
+ 'formkey', 'varchar', '', 255, '', '',
+ 'formvalue', 'text', 'NULL', '', '', '',
+ ],
+ 'primary_key' => 'formkey',
+ 'unique' => [],
+ 'index' => [],
+ },
+
'cust_pkg' => {
'columns' => [
'pkgnum', 'serial', '', '', '', '',
'no_auto', 'char', 'NULL', 1, '', '',
'quantity', 'int', 'NULL', '', '', '',
'agent_pkgid', 'int', 'NULL', '', '', '',
+ 'waive_setup', 'char', 'NULL', 1, '', '',
],
'primary_key' => 'pkgnum',
'unique' => [],
'index' => [ ['custnum'], ['pkgpart'], [ 'pkgbatch' ], [ 'locationnum' ],
[ 'usernum' ], [ 'agent_pkgid' ],
- [ 'start_date' ], ['setup'], ['last_bill'], ['bill'],
- ['susp'], ['adjourn'], ['expire'], ['cancel'],
- ['change_date'], ['order_date'],
+ ['order_date'], [ 'start_date' ], ['setup'], ['bill'],
+ ['last_bill'], ['susp'], ['adjourn'], ['cancel'],
+ ['expire'], ['contract_end'], ['change_date'], ['no_auto'],
],
},
'percent', 'decimal', '', '', '', '',
'months', 'decimal', 'NULL', '', '', '',
'disabled', 'char', 'NULL', 1, '', '',
+ 'setup', 'char', 'NULL', 1, '', '',
],
'primary_key' => 'discountnum',
'unique' => [],
'reason', 'varchar', '', $char_d, '', '',
'payby', 'char', '', 4, '', '', # CARD/BILL/COMP, should
# be index into payby
+ 'recur_show_zero', 'char', 'NULL', 1, '', '',
+ 'setup_show_zero', 'char', 'NULL', 1, '', '',
# table eventually
'payinfo', 'varchar', 'NULL', 512, '', '', #see cust_main above
'paymask', 'varchar', 'NULL', $char_d, '', '',
'credit_weight', 'real', 'NULL', '', '', '',
'agentnum', 'int', 'NULL', '', '', '',
'fcc_ds0s', 'int', 'NULL', '', '', '',
- 'no_auto', 'char', 'NULL', 1, '', '',
+ 'no_auto', 'char', 'NULL', 1, '', '',
+ 'recur_show_zero', 'char', 'NULL', 1, '', '',
],
'primary_key' => 'pkgpart',
'unique' => [],
'index' => [ [ 'promo_code' ], [ 'disabled' ], [ 'classnum' ],
- [ 'agentnum' ],
+ [ 'agentnum' ], ['no_auto'],
],
},
'pkgpart', 'int', '', '', '', '',
'svcpart', 'int', '', '', '', '',
'quantity', 'int', '', '', '', '',
+ 'setup_show_zero', 'char', 'NULL', 1, '', '',
'primary_svc','char', 'NULL', 1, '', '',
'hidden', 'char', 'NULL', 1, '', '',
],
'classname', 'varchar', '', $char_d, '', '',
'categorynum', 'int', 'NULL', '', '', '',
'disabled', 'char', 'NULL', 1, '', '',
+ 'fcc_ds0s', 'int', 'NULL', '', '', '',
],
'primary_key' => 'classnum',
'unique' => [],
# fields for unitel/RSLCOM/convergent that don't map well to asterisk
# defaults
# though these are now used elsewhere:
- # charged_party, upstream_price, rated_price, carrierid
+ # charged_party, upstream_price, rated_price, carrierid, cdrtypenum
###
#cdr_type: Usage = 1, S&E = 7, OC&C = 8
'charged_party', 'varchar', 'NULL', $char_d, '', '',
'upstream_currency', 'char', 'NULL', 3, '', '',
- 'upstream_price', 'decimal', 'NULL', '10,2', '', '',
+ 'upstream_price', 'decimal', 'NULL', '10,4', '', '',
'upstream_rateplanid', 'int', 'NULL', '', '', '', #?
# how it was rated internally...
#an indexed place to put big numbers
'cdrid', 'bigint', 'NULL', '', '', '',
+ #for taqua accountcode rewriting, for starters
+ 'sessionnum', 'int', 'NULL', '', '', '',
+ 'subscriber', 'varchar', 'NULL', $char_d, '', '',
+
#old
- 'cdrbatch', 'varchar', 'NULL', 255, '', '',
+ 'cdrbatch', 'varchar', 'NULL', 255, '', '',
#new
- 'cdrbatchnum', 'int', 'NULL', '', '', '',
+ 'cdrbatchnum', 'int', 'NULL', '', '', '',
],
'primary_key' => 'acctid',
'index' => [ [ 'calldate' ],
[ 'src' ], [ 'dst' ], [ 'dcontext' ], [ 'charged_party' ],
[ 'accountcode' ], [ 'carrierid' ], [ 'cdrid' ],
+ [ 'sessionnum' ], [ 'subscriber' ],
[ 'freesidestatus' ], [ 'freesiderewritestatus' ],
[ 'cdrbatch' ], [ 'cdrbatchnum' ],
],
'station', 'char', 'NULL', 4, '', '',
'name', 'varchar', 'NULL', $char_d, '', '',
'rate_center_abbrev', 'varchar', 'NULL', $char_d, '', '',
+ 'latanum', 'int', 'NULL', '', '', '',
+ 'msanum', 'int', 'NULL', '', '', '',
'ordernum', 'int', 'NULL', '', '', '',
'svcnum', 'int', 'NULL', '', '', '',
'availbatch', 'varchar', 'NULL', $char_d, '', '',
[ 'exportnum', 'countrycode', 'npa', 'nxx', 'station' ], # #
[ 'svcnum' ],
[ 'availbatch' ],
+ [ 'latanum' ],
],
},
'columns' => [
'latanum', 'int', '', '', '', '',
'description', 'varchar', '', $char_d, '', '',
+ 'have_usage', 'int', 'NULL', '', '', '',
],
'primary_key' => 'latanum',
'unique' => [],
'index' => [],
},
+ 'msa' => {
+ 'columns' => [
+ 'msanum', 'int', '', '', '', '',
+ 'description', 'varchar', '', $char_d, '', '',
+ ],
+ 'primary_key' => 'msanum',
+ 'unique' => [],
+ 'index' => [],
+ },
+
+ 'rate_center' => {
+ 'columns' => [
+ 'ratecenternum', 'serial', '', '', '', '',
+ 'description', 'varchar', '', $char_d, '', '',
+ ],
+ 'primary_key' => 'ratecenternum',
+ 'unique' => [],
+ 'index' => [],
+ },
+
'did_vendor' => {
'columns' => [
'vendornum', 'serial', '', '', '', '',
'index' => [],
},
- 'did_order' => {
+ 'did_order_item' => {
'columns' => [
- 'ordernum', 'serial', '', '', '', '',
- 'vendornum', 'int', '', '', '', '',
- 'vendor_order_id', 'varchar', '', $char_d, '', '',
- 'msa', 'varchar', 'NULL', $char_d, '', '',
+ 'orderitemnum', 'serial', '', '', '', '',
+ 'ordernum', 'int', '', '', '', '',
+ 'msanum', 'int', 'NULL', '', '', '',
+ 'npa', 'int', 'NULL', '', '', '',
'latanum', 'int', 'NULL', '', '', '',
- 'rate_center', 'varchar', 'NULL', $char_d, '', '',
+ 'ratecenternum', 'int', 'NULL', '', '', '',
'state', 'char', 'NULL', 2, '', '',
'quantity', 'int', '', '', '', '',
+ 'custnum', 'int', 'NULL', '', '', '',
+ ],
+ 'primary_key' => 'orderitemnum',
+ 'unique' => [],
+ 'index' => [],
+ },
+
+ 'did_order' => {
+ 'columns' => [
+ 'ordernum', 'serial', '', '', '', '',
+ 'vendornum', 'int', '', '', '', '',
+ 'vendor_order_id', 'varchar', 'NULL', $char_d, '', '',
+ 'custnum', 'int', 'NULL', '', '', '',
'submitted', 'int', '', '', '', '',
'confirmed', 'int', 'NULL', '', '', '',
'received', 'int', 'NULL', '', '', '',
'index' => [ ['agentnum'], ]
},
+ 'cust_msg' => {
+ 'columns' => [
+ 'custmsgnum', 'serial', '', '', '', '',
+ 'custnum', 'int', '', '', '', '',
+ 'msgnum', 'int', 'NULL', '', '', '',
+ '_date', @date_type, '', '',
+ 'env_from', 'varchar', 'NULL', 255, '', '',
+ 'env_to', 'varchar', 'NULL', 255, '', '',
+ 'header', 'blob', 'NULL', '', '', '',
+ 'body', 'blob', 'NULL', '', '', '',
+ 'error', 'varchar', 'NULL', 255, '', '',
+ 'status', 'varchar', '',$char_d, '', '',
+ ],
+ 'primary_key' => 'custmsgnum',
+ 'unique' => [ ],
+ 'index' => [ ['custnum'], ],
+ },
+
'svc_cert' => {
'columns' => [
'svcnum', 'int', '', '', '', '',
'index' => [], #recnum
},
- 'areacode' => {
+ 'svc_port' => {
'columns' => [
- 'code', 'char', '', 3, '', '',
- 'country', 'char', 'NULL', 2, '', '',
- 'state', 'char', 'NULL', 2, '', '',
- 'description','varchar', 'NULL', 255, '', '',
+ 'svcnum', 'int', '', '', '', '',
],
- 'primary_key' => 'code',
+ 'primary_key' => 'svcnum',
'unique' => [],
- 'index' => [],
+ 'index' => [], #recnum
},
- 'nms_device' => {
+ 'areacode' => {
'columns' => [
- 'nms_devicenum', 'serial', '', '', '', '',
- #'agentnum', 'int', 'NULL', '', '', '',
- 'devicename', 'varchar', '', $char_d, '', '',
- 'ip', 'varchar', '', 15, '', '',
- 'protocol', 'varchar', '', $char_d, '', '',
-# 'last', 'int', '', '', '', '',
+ 'areanum', 'serial', '', '', '', '',
+ 'code', 'char', '', 3, '', '',
+ 'country', 'char', 'NULL', 2, '', '',
+ 'state', 'char', 'NULL', 2, '', '',
+ 'description','varchar', 'NULL', 255, '', '',
],
- 'primary_key' => 'nms_devicenum',
- 'unique' => [],
+ 'primary_key' => 'areanum',
+ 'unique' => [ [ 'code' ] ],
'index' => [],
},
-
- 'nms_deviceport' => {
- 'columns' => [
- 'portnum', 'serial', '', '', '', '',
- 'nms_devicenum', 'int', '', '', '', '',
- 'deviceport', 'int', '', '', '', '',
- #'ip', 'varchar', 'NULL', 15, '', '',
- 'svcnum', 'int', 'NULL', '', '', '',
- ],
- 'primary_key' => 'portnum',
- 'unique' => [ [ 'nms_devicenum', 'deviceport' ] ],
- 'index' => [ [ 'svcnum' ] ],
- },
-
- 'svc_port' => {
- 'columns' => [
- 'svcnum', 'int', '', '', '', '',
- ],
- 'primary_key' => 'svcnum',
- 'unique' => [],
- 'index' => [], #recnum
- },
# name type nullability length default local