X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FSchema.pm;h=c635ea0a00e8e3843773539df60f709fa42e0635;hb=3317a32f572a2e3605071410e7ddd8082e0b03ee;hp=830b39a84101acf2bb65acbef25f6b85a5ba0392;hpb=0f359d5480aa1621d73ee802f420e8951abc620d;p=freeside.git diff --git a/FS/FS/Schema.pm b/FS/FS/Schema.pm index 830b39a84..c635ea0a0 100644 --- a/FS/FS/Schema.pm +++ b/FS/FS/Schema.pm @@ -243,6 +243,23 @@ sub dbdef_dist { ], }); + #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}_username"} = + DBIx::DBSchema::Index->new({ + 'name' => "h_${table}_username", + 'unique' => 0, + 'columns' => [ 'history_username'], + }); } my $primary_key_col = $tableobj->column($tableobj->primary_key) @@ -2587,8 +2604,9 @@ sub tables_hashref { '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'], @@ -6247,7 +6265,7 @@ sub tables_hashref { 'columns' => [ 'logcontextnum', 'serial', '', '', '', '', 'lognum', 'int', '', '', '', '', - 'context', 'varchar', '', 32, '', '', + 'context', 'varchar', '', $char_d, '', '', ], 'primary_key' => 'logcontextnum', 'unique' => [ [ 'lognum', 'context' ] ], @@ -6351,7 +6369,7 @@ sub tables_hashref { 'mac_addr', 'varchar', 'NULL', 12, '', '', ], 'primary_key' => 'svcnum', - 'unique' => [], + 'unique' => [ ['serialnum'] , ['mac_addr'] ], 'index' => [], 'foreign_keys' => [ { columns => [ 'svcnum' ], @@ -6682,13 +6700,16 @@ sub tables_hashref { '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' => [], @@ -6725,10 +6746,9 @@ sub tables_hashref { 'zonenum', 'int', '', '', '', '', 'latitude', 'decimal', '', '10,7', '', '', 'longitude', 'decimal', '', '10,7', '', '', - 'sequence', 'int', '', '', '', '', ], 'primary_key' => 'vertexnum', - 'unique' => [ [ 'zonenum', 'sequence' ] ], + 'unique' => [ ], 'index' => [ ], 'foreign_keys' => [ { columns => [ 'zonenum' ],