],
});
+ #necessary for queries that want to look at *who* made changes
+ $h_indices{"h_${table}_usernum"} =
+ DBIx::DBSchema::Index->new({
+ 'name' => "h_${table}_usernum",
+ 'unique' => 0,
+ 'columns' => [ 'history_usernum'],
+ });
+
+ # necessary because of the evil OR username for older data, be really nice if everything was just migrated to usernum and we could drop username
+ # This will not be helpful to mysql, but postgres smartly does a bitmap across both indexes, mysql will just use one
+
+ $h_indices{"h_${table}_user"} =
+ DBIx::DBSchema::Index->new({
+ 'name' => "h_${table}_user",
+ 'unique' => 0,
+ 'columns' => [ 'history_user'],
+ });
}
my $primary_key_col = $tableobj->column($tableobj->primary_key)
'add_date', @date_type, '', '',
'disabled', 'char', 'NULL', 1, '', '',
'custnum', 'int', 'NULL', '', '', '',
+ 'refnum', 'int', 'NULL', '', '', '',
],
'primary_key' => 'prospectnum',
'unique' => [],
- 'index' => [ [ 'company' ], [ 'agentnum' ], [ 'disabled' ] ],
+ 'index' => [ ['company'], ['agentnum'], ['disabled'], ['refnum'] ],
'foreign_keys' => [
{ columns => [ 'agentnum' ],
table => 'agent',
{ columns => [ 'custnum' ],
table => 'cust_main',
},
+ { columns => [ 'refnum' ],
+ table => 'part_referral',
+ },
],
},
'locationnum', 'serial', '', '', '', '',
'prospectnum', 'int', 'NULL', '', '', '',
'custnum', 'int', 'NULL', '', '', '',
+ 'locationname', 'varchar', 'NULL', $char_d, '', '',
'address1', 'varchar', '', $char_d, '', '',
'address2', 'varchar', 'NULL', $char_d, '', '',
'city', 'varchar', '', $char_d, '', '',
'index' => [ ['custnum'], ['pkgpart'], ['pkgbatch'],
['locationnum'], ['usernum'], ['agent_pkgid'],
['order_date'], [ 'start_date' ], ['setup'], ['bill'],
- ['last_bill'], ['susp'], ['adjourn'], ['cancel'],
- ['expire'], ['contract_end'], ['change_date'],
+ ['last_bill'], ['susp'], ['adjourn'], ['resume'],
+ ['cancel'], ['expire'], ['contract_end'],
+ ['change_date'],
['no_auto'],
#['contactnum'],
['salesnum'],
'successor', 'int', 'NULL', '', '', '',
'family_pkgpart','int', 'NULL', '', '', '',
'delay_start', 'int', 'NULL', '', '', '',
+ 'start_on_hold', 'char', 'NULL', 1, '', '',
'agent_pkgpartid', 'varchar', 'NULL', 20, '', '',
],
'primary_key' => 'pkgpart',
[ 'job' ], [ 'svcnum' ], [ 'custnum' ], [ 'status' ],
],
'foreign_keys' => [
- { columns => [ 'svcnum' ],
- table => 'cust_svc',
- },
+# { columns => [ 'svcnum' ],
+# table => 'cust_svc',
+# },
{ columns => [ 'custnum' ],
table => 'cust_main',
},
'rate' => {
'columns' => [
- 'ratenum', 'serial', '', '', '', '',
- 'ratename', 'varchar', '', $char_d, '', '',
- 'agentnum', 'int', 'NULL', '', '', '',
+ 'ratenum', 'serial', '', '', '', '',
+ 'ratename', 'varchar', '',$char_d, '', '',
+ 'agentnum', 'int', 'NULL', '', '', '',
+ 'default_detailnum', 'int', 'NULL', '', '', '',
],
'primary_key' => 'ratenum',
'unique' => [],
'ratedetailnum', 'serial', '', '', '', '',
'ratenum', 'int', '', '', '', '',
'orig_regionnum', 'int', 'NULL', '', '', '',
- 'dest_regionnum', 'int', '', '', '', '',
+ 'dest_regionnum', 'int', 'NULL', '', '', '',
'min_included', 'int', '', '', '', '',
'conn_charge', 'decimal', '', '10,4', '0.0000', '',
'conn_cost', 'decimal', '', '10,4', '0.0000', '',
'classnum', 'int', 'NULL', '', '', '',
'cdrtypenum', 'int', 'NULL', '', '', '',
'region_group', 'char', 'NULL', 1, '', '',
+ 'upstream_mult_charge', 'decimal', '', '10,4', '0.0000', '',
+ 'upstream_mult_cost', 'decimal', '', '10,4', '0.0000', '',
],
'primary_key' => 'ratedetailnum',
'unique' => [ [ 'ratenum', 'orig_regionnum', 'dest_regionnum' ] ],
'columns' => [
'logcontextnum', 'serial', '', '', '', '',
'lognum', 'int', '', '', '', '',
- 'context', 'varchar', '', 32, '', '',
+ 'context', 'varchar', '', $char_d, '', '',
],
'primary_key' => 'logcontextnum',
'unique' => [ [ 'lognum', 'context' ] ],
'svc_alarm' => {
'columns' => [
- 'svcnum', 'int', '', '', '', '',
- 'alarmsystemnum', 'int', '', '', '', '',
- 'alarmtypenum', 'int', '', '', '', '',
- 'alarmstationnum', 'int', '', '', '', '',
- 'acctnum', 'varchar', '', $char_d, '', '',
- '_password', 'varchar', '', $char_d, '', '',
- 'location', 'varchar', 'NULL', $char_d, '', '',
+# name type null length default local
+ 'svcnum', 'int', '', '', '', '',
+ 'alarmsystemnum', 'int', '', '', '', '',
+ 'alarmtypenum', 'int', '', '', '', '',
+ 'alarmstationnum', 'int', '', '', '', '',
+ 'acctnum', 'varchar', '', $char_d, '', '',
+ '_password', 'varchar', '', $char_d, '', '',
+ 'location', 'varchar', 'NULL', $char_d, '', '',
+ 'cs_receiver', 'int', 'NULL', '', '', '',
+ 'cs_phonenum', 'varchar', 'NULL', $char_d, '', '',
+ 'serialnum', 'varchar', 'NULL', $char_d, '', '',
#installer (rep)
],
'primary_key' => 'svcnum',
'mac_addr', 'varchar', 'NULL', 12, '', '',
],
'primary_key' => 'svcnum',
- 'unique' => [],
+ 'unique' => [ ['serialnum'] , ['mac_addr'] ],
'index' => [],
'foreign_keys' => [
{ columns => [ 'svcnum' ],
'zonetype', 'char', '', 1, '', '',
'technology', 'int', '', '', '', '',
'spectrum', 'int', 'NULL', '', '', '',
- 'servicetype', 'char', '', '12', '', '',
- 'adv_speed_up', 'decimal', 'NULL', '10,3', '', '',
- 'adv_speed_down', 'decimal', 'NULL', '10,3', '', '',
- 'cir_speed_up', 'decimal', 'NULL', '10,3', '', '',
- 'cir_speed_down', 'decimal', 'NULL', '10,3', '', '',
+ 'adv_speed_up', 'decimal', '', '10,3', '0', '',
+ 'adv_speed_down', 'decimal', '', '10,3', '0', '',
+ 'cir_speed_up', 'decimal', '', '10,3', '0', '',
+ 'cir_speed_down', 'decimal', '', '10,3', '0', '',
+ 'is_broadband', 'char', 'NULL', 1, '', '',
+ 'is_voice', 'char', 'NULL', 1, '', '',
'is_consumer', 'char', 'NULL', 1, '', '',
'is_business', 'char', 'NULL', 1, '', '',
+ 'active_date', @date_type, '', '',
+ 'expire_date', @date_type, '', '',
],
'primary_key' => 'zonenum',
'unique' => [],
'zonenum', 'int', '', '', '', '',
'latitude', 'decimal', '', '10,7', '', '',
'longitude', 'decimal', '', '10,7', '', '',
- 'sequence', 'int', '', '', '', '',
],
'primary_key' => 'vertexnum',
- 'unique' => [ [ 'zonenum', 'sequence' ] ],
+ 'unique' => [ ],
'index' => [ ],
'foreign_keys' => [
{ columns => [ 'zonenum' ],