enhance contacts: contact classes, RT#16819
[freeside.git] / FS / FS / Schema.pm
index d8e0f5c..67b6823 100644 (file)
@@ -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';
   }
 
   ###
@@ -938,7 +938,7 @@ sub tables_hashref {
                  ],
     },
 
-    'cust_recon' => {  # what purpose does this serve?
+    'cust_recon' => {  # (some sort of not-well understood thing for OnPac)
       'columns' => [
         'reconid',      'serial',  '',          '', '', '', 
         'recondate',    @date_type,                 '', '', 
@@ -964,7 +964,17 @@ sub tables_hashref {
       'index' => [],
     },
 
-    #eventually for cust_main too
+    'contact_class' => {
+      'columns' => [
+        'classnum',    'serial',   '',      '', '', '', 
+        'classname',   'varchar',  '', $char_d, '', '', 
+        'disabled',    'char', 'NULL',       1, '', '', 
+      ],
+      'primary_key' => 'classnum',
+      'unique' => [],
+      'index' => [ ['disabled'] ],
+    },
+
     'contact' => {
       'columns' => [
         'contactnum', 'serial',     '',      '', '', '',
@@ -1481,6 +1491,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,             '', '',
@@ -1585,7 +1596,8 @@ sub tables_hashref {
         'percent',    'decimal',     '',   '7,4', '', '',
         'months',     'decimal', 'NULL',   '7,4', '', '',
         'disabled',      'char', 'NULL',       1, '', '', 
-        'setup',      'char', 'NULL',       1, '', '', 
+        'setup',         'char', 'NULL',       1, '', '', 
+        #'linked',        'char', 'NULL',       1, '', '',
       ],
       'primary_key' => 'discountnum',
       'unique' => [],
@@ -2125,12 +2137,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'  => [ ],
     },
 
@@ -2482,6 +2495,7 @@ sub tables_hashref {
         'routername', 'varchar', '', $char_d, '', '', 
         'svcnum', 'int', 'NULL', '', '', '', 
         'agentnum',   'int', 'NULL', '', '', '', 
+        'manual_addr', 'char', 'NULL', 1, '', '',
       ],
       'primary_key' => 'routernum',
       'unique'      => [],
@@ -2517,6 +2531,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',      '', '', '', 
@@ -2936,6 +2951,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?
@@ -3035,6 +3054,7 @@ sub tables_hashref {
                    [ 'sessionnum' ], [ 'subscriber' ],
                    [ 'freesidestatus' ], [ 'freesiderewritestatus' ],
                    [ 'cdrbatch' ], [ 'cdrbatchnum' ],
+                   [ 'src_ip_addr' ], [ 'dst_ip_addr' ],
                  ],
     },