X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FSchema.pm;h=a36d2dcdb8fde7fe7a482521e89d2b5b726874ec;hb=e5fcc68aab310814b0ba5444bc97ef504e6e16da;hp=797597ce53e8dd6526678b0e6af108da51d8840c;hpb=dbc3a00f8a47ca8f3db81964efbc5f7c9e093804;p=freeside.git diff --git a/FS/FS/Schema.pm b/FS/FS/Schema.pm index 797597ce5..a36d2dcdb 100644 --- a/FS/FS/Schema.pm +++ b/FS/FS/Schema.pm @@ -70,7 +70,7 @@ sub dbdef { $dbdef; } Returns the current canoical database definition as defined in this file. Optionally, pass a DBI data source to enable syntax specific to that database. -Currently, this enables "TYPE=InnoDB" for MySQL databases. +Currently, this enables "ENGINE=InnoDB" for MySQL databases. =cut @@ -79,7 +79,7 @@ sub dbdef_dist { my $local_options = ''; if ( $datasrc =~ /^dbi:mysql/i ) { - $local_options = 'TYPE=InnoDB'; + $local_options = 'ENGINE=InnoDB'; } ### @@ -895,6 +895,8 @@ sub tables_hashref { 'payip', 'varchar', 'NULL', 15, '', '', 'geocode', 'varchar', 'NULL', 20, '', '', 'censustract', 'varchar', 'NULL', 20, '', '', # 7 to save space? + 'censusyear', 'char', 'NULL', 4, '', '', + 'district', 'varchar', 'NULL', 20, '', '', 'tax', 'char', 'NULL', 1, '', '', 'otaker', 'varchar', 'NULL', 32, '', '', 'usernum', 'int', 'NULL', '', '', '', @@ -1053,6 +1055,7 @@ sub tables_hashref { 'coord_auto', 'char', 'NULL', 1, '', '', 'country', 'char', '', 2, '', '', 'geocode', 'varchar', 'NULL', 20, '', '', + 'district', 'varchar', 'NULL', 20, '', '', 'location_type', 'varchar', 'NULL', 20, '', '', 'location_number', 'varchar', 'NULL', 20, '', '', 'location_kind', 'char', 'NULL', 1, '', '', @@ -1177,11 +1180,12 @@ sub tables_hashref { 'index' => [ [ 'custnum' ], [ 'billpkgnum' ] ], }, - 'cust_main_county' => { #county+state+country are checked off the - #cust_main_county for validation and to provide - # a tax rate. + 'cust_main_county' => { #district+city+county+state+country are checked + #off the cust_main_county for validation and to + #provide a tax rate. 'columns' => [ 'taxnum', 'serial', '', '', '', '', + 'district', 'varchar', 'NULL', 20, '', '', 'city', 'varchar', 'NULL', $char_d, '', '', 'county', 'varchar', 'NULL', $char_d, '', '', 'state', 'varchar', 'NULL', $char_d, '', '', @@ -1196,7 +1200,8 @@ sub tables_hashref { 'primary_key' => 'taxnum', 'unique' => [], # 'unique' => [ ['taxnum'], ['state', 'county'] ], - 'index' => [ [ 'city' ], [ 'county' ], [ 'state' ], [ 'country' ], + 'index' => [ [ 'district' ], [ 'city' ], [ 'county' ], [ 'state' ], + [ 'country' ], [ 'taxclass' ], ], }, @@ -1476,6 +1481,7 @@ sub tables_hashref { 'last_bill', @date_type, '', '', 'susp', @date_type, '', '', 'adjourn', @date_type, '', '', + 'resume', @date_type, '', '', 'cancel', @date_type, '', '', 'expire', @date_type, '', '', 'contract_end', @date_type, '', '', @@ -1801,11 +1807,12 @@ sub tables_hashref { 'part_svc' => { 'columns' => [ - 'svcpart', 'serial', '', '', '', '', - 'svc', 'varchar', '', $char_d, '', '', - 'svcdb', 'varchar', '', $char_d, '', '', - 'disabled', 'char', 'NULL', 1, '', '', - 'preserve', 'char', 'NULL', 1, '', '', + 'svcpart', 'serial', '', '', '', '', + 'svc', 'varchar', '', $char_d, '', '', + 'svcdb', 'varchar', '', $char_d, '', '', + 'disabled', 'char', 'NULL', 1, '', '', + 'preserve', 'char', 'NULL', 1, '', '', + 'selfservice_access', 'varchar', 'NULL', $char_d, '', '', ], 'primary_key' => 'svcpart', 'unique' => [], @@ -1892,6 +1899,7 @@ sub tables_hashref { '_password_encoding', 'varchar', 'NULL', $char_d, '', '', 'sec_phrase', 'varchar', 'NULL', $char_d, '', '', 'popnum', 'int', 'NULL', '', '', '', + 'sectornum', 'int', 'NULL', '', '', '', 'uid', 'int', 'NULL', '', '', '', 'gid', 'int', 'NULL', '', '', '', 'finger', 'varchar', 'NULL', 2*$char_d, '', '', @@ -2118,12 +2126,13 @@ sub tables_hashref { 'hardware_type' => { 'columns' => [ - 'typenum', 'serial', '', '', '', '', - 'classnum', 'int', '', '', '', '', - 'model', 'varchar', '', $char_d, '', '', + 'typenum', 'serial', '', '', '', '', + 'classnum', 'int', '', '', '', '', + 'model', 'varchar', '', $char_d, '', '', + 'revision','varchar', 'NULL', $char_d, '', '', ], 'primary_key' => 'typenum', - 'unique' => [ ], + 'unique' => [ [ 'classnum', 'model', 'revision' ] ], 'index' => [ ], }, @@ -2278,6 +2287,7 @@ sub tables_hashref { 'server', 'varchar', 'NULL', 64, '', '', 'community', 'varchar', 'NULL', 50, '', '', 'description', 'varchar', '', 200, 'RADIUS Client', '', + 'svcnum', 'int', 'NULL', '', '', '', ], 'primary_key' => 'nasnum', 'unique' => [ [ 'nasname' ], ], @@ -2474,6 +2484,7 @@ sub tables_hashref { 'routername', 'varchar', '', $char_d, '', '', 'svcnum', 'int', 'NULL', '', '', '', 'agentnum', 'int', 'NULL', '', '', '', + 'manual_addr', 'char', 'NULL', 1, '', '', ], 'primary_key' => 'routernum', 'unique' => [], @@ -2509,6 +2520,7 @@ sub tables_hashref { 'columns' => [ 'svcnum', 'int', '', '', '', '', 'description', 'varchar', 'NULL', $char_d, '', '', + 'routernum', 'int', 'NULL', '', '', '', 'blocknum', 'int', 'NULL', '', '', '', 'sectornum', 'int', 'NULL', '', '', '', 'speed_up', 'int', 'NULL', '', '', '', @@ -2534,6 +2546,10 @@ sub tables_hashref { #'agentnum', 'int', 'NULL', '', '', '', 'towername', 'varchar', '', $char_d, '', '', 'disabled', 'char', 'NULL', 1, '', '', + 'latitude', 'decimal', 'NULL', '10,7', '', '', + 'longitude','decimal', 'NULL', '10,7', '', '', + 'altitude', 'decimal', 'NULL', '', '', '', + 'coord_auto', 'char', 'NULL', 1, '', '', ], 'primary_key' => 'towernum', 'unique' => [ [ 'towername' ] ], # , 'agentnum' ] ], @@ -2684,7 +2700,9 @@ sub tables_hashref { ], 'primary_key' => 'ratedetailnum', 'unique' => [ [ 'ratenum', 'orig_regionnum', 'dest_regionnum' ] ], - 'index' => [ [ 'ratenum', 'dest_regionnum' ] ], + 'index' => [ [ 'ratenum', 'dest_regionnum' ], + [ 'ratenum', 'ratetimenum' ] + ], }, 'rate_region' => { @@ -2922,6 +2940,10 @@ sub tables_hashref { 'lastapp', 'varchar', '', $char_d, \"''", '', 'lastdata', 'varchar', '', $char_d, \"''", '', + #currently only opensips + 'src_ip_addr', 'varchar', 'NULL', 15, '', '', + 'dst_ip_addr', 'varchar', 'NULL', 15, '', '', + #these don't seem to be logged by most of the SQL cdr_* modules #except tds under sql-illegal names, so; # ... don't rely on them for rating? @@ -2978,9 +3000,15 @@ sub tables_hashref { 'charged_party', 'varchar', 'NULL', $char_d, '', '', # how it was rated internally... - 'rated_price', 'decimal', 'NULL', '10,4', '', '', - 'rated_seconds', 'int', 'NULL', '', '', '', - 'rated_minutes', 'double precision', 'NULL', '', '', '', + 'rated_pretty_dst', 'varchar', 'NULL', $char_d, '', '', + 'rated_regionname', 'varchar', 'NULL', $char_d, '', '', + 'rated_price', 'decimal', 'NULL', '10,4', '', '', + 'rated_seconds', 'int', 'NULL', '', '', '', + 'rated_minutes', 'double precision', 'NULL', '', '', '', + 'rated_granularity', 'int', 'NULL', '', '', '', + 'rated_ratedetailnum', 'int', 'NULL', '', '', '', + 'rated_classnum', 'int', 'NULL', '', '', '', + 'rated_ratename', 'varchar', 'NULL', $char_d, '', '', 'carrierid', 'int', 'NULL', '', '', '', @@ -3015,6 +3043,7 @@ sub tables_hashref { [ 'sessionnum' ], [ 'subscriber' ], [ 'freesidestatus' ], [ 'freesiderewritestatus' ], [ 'cdrbatch' ], [ 'cdrbatchnum' ], + [ 'src_ip_addr' ], [ 'dst_ip_addr' ], ], },