per-agent disable_previous_balance, #15863
[freeside.git] / FS / FS / Schema.pm
index 100fbb1..4148919 100644 (file)
@@ -3,9 +3,9 @@ package FS::Schema;
 use vars qw(@ISA @EXPORT_OK $DEBUG $setup_hack %dbdef_cache);
 use subs qw(reload_dbdef);
 use Exporter;
-use DBIx::DBSchema 0.33;
+use DBIx::DBSchema 0.40; #0.40 for mysql upgrade fixes
 use DBIx::DBSchema::Table;
-use DBIx::DBSchema::Column 0.06;
+use DBIx::DBSchema::Column;
 use DBIx::DBSchema::Index;
 
 @ISA = qw(Exporter);
@@ -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' ],
                  ],
     },
@@ -1804,11 +1809,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' => [],
@@ -1895,6 +1901,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, '', '', 
@@ -2281,6 +2288,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' ], ],
@@ -2537,6 +2545,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' ] ],
@@ -2671,23 +2683,25 @@ sub tables_hashref {
 
     'rate_detail' => {
       'columns' => [
-        'ratedetailnum',   'serial',  '',     '', '', '', 
-        'ratenum',         'int',     '',     '', '', '', 
-        'orig_regionnum',  'int', 'NULL',     '', '', '', 
-        'dest_regionnum',  'int',     '',     '', '', '', 
-        'min_included',    'int',     '',     '', '', '', 
-        'conn_charge',     'decimal', '', '10,4', '0', '',
-        'conn_sec',        'int',     '',     '', '0', '',
-        'min_charge',      'decimal', '', '10,5', '', '', #@money_type, '', '', 
-        'sec_granularity', 'int',     '',     '', '', '', 
-        'ratetimenum',     'int', 'NULL',     '', '', '',
-        'classnum',        'int', 'NULL',     '', '', '', 
-        'cdrtypenum',      'int', 'NULL',     '', '', '',
-        'region_group', 'char', 'NULL',       1, '', '', 
+        'ratedetailnum',   'serial',  '',     '',      '', '', 
+        'ratenum',         'int',     '',     '',      '', '', 
+        'orig_regionnum',  'int', 'NULL',     '',      '', '', 
+        'dest_regionnum',  'int',     '',     '',      '', '', 
+        'min_included',    'int',     '',     '',      '', '', 
+        'conn_charge',     'decimal', '', '10,4', '0.0000', '',
+        'conn_sec',        'int',     '',     '',      '0', '',
+        'min_charge',      'decimal', '', '10,5',       '', '',
+        'sec_granularity', 'int',     '',     '',       '', '', 
+        'ratetimenum',     'int', 'NULL',     '',       '', '',
+        'classnum',        'int', 'NULL',     '',       '', '', 
+        'cdrtypenum',      'int', 'NULL',     '',       '', '',
+        'region_group', 'char', 'NULL',        1,       '', '', 
       ],
       'primary_key' => 'ratedetailnum',
       'unique'      => [ [ 'ratenum', 'orig_regionnum', 'dest_regionnum' ] ],
-      'index'       => [ [ 'ratenum', 'dest_regionnum' ] ],
+      'index'       => [ [ 'ratenum', 'dest_regionnum' ],
+                         [ 'ratenum', 'ratetimenum' ]
+                       ],
     },
 
     'rate_region' => {