more accurate calculation of package start delays, #20686
[freeside.git] / FS / FS / Schema.pm
index 66752da..ed37904 100644 (file)
@@ -7,6 +7,7 @@ use DBIx::DBSchema 0.40; #0.40 for mysql upgrade fixes
 use DBIx::DBSchema::Table;
 use DBIx::DBSchema::Column;
 use DBIx::DBSchema::Index;
+#can't use this yet, dependency bs #use FS::Conf;
 
 @ISA = qw(Exporter);
 @EXPORT_OK = qw( dbdef dbdef_dist reload_dbdef );
@@ -75,7 +76,8 @@ Currently, this enables "ENGINE=InnoDB" for MySQL databases.
 =cut
 
 sub dbdef_dist {
-  my $datasrc = @_ ? shift : '';
+  my $datasrc = @_ && !ref($_[0]) ? shift : '';
+  my $opt = @_ ? shift : {};
   
   my $local_options = '';
   if ( $datasrc =~ /^dbi:mysql/i ) {
@@ -192,6 +194,7 @@ sub dbdef_dist {
     grep {    ! /^(clientapi|access_user)_session/
            && ! /^h_/
            && ! /^log(_context)?$/
+           && ( ! /^queue(_arg)?$/ || ! $opt->{'queue-no_history'} )
            && ! $tables_hashref_torrus->{$_}
          }
       $dbdef->tables
@@ -1109,7 +1112,7 @@ sub tables_hashref {
         'currency',         'char', 'NULL',  3, '', '',
 
         #deprecated, info moved to cust_payby
-        'payby',    'char', '',     4, '', '', 
+        'payby',    'char', 'NULL',     4, '', '', 
         'payinfo',  'varchar', 'NULL', 512, '', '', 
         'paycvv',   'varchar', 'NULL', 512, '', '', 
         'paymask', 'varchar', 'NULL', $char_d, '', '', 
@@ -4268,26 +4271,25 @@ sub tables_hashref {
 
     'svc_cable' => {
       'columns' => [
-        'svcnum',         'int',     '',      '', '', '', 
-        #nothing so far...  there should be _something_ uniquely identifying
-        # each subscriber besides the device info...?
+        'svcnum',        'int',     '',      '', '', '', 
+        'modelnum',      'int', 'NULL',      '', '', '',
+        'serialnum', 'varchar', 'NULL', $char_d, '', '',
+        'mac_addr',  'varchar', 'NULL',      12, '', '', 
       ],
       'primary_key' => 'svcnum',
       'unique' => [],
       'index'  => [],
     },
 
-    'cable_device' => {
+    'cable_model' => {
       'columns' => [
-        'devicenum', 'serial',     '',      '', '', '',
-        'devicepart',   'int',     '',      '', '', '',
-        'svcnum',       'int',     '',      '', '', '', 
-        'mac_addr', 'varchar', 'NULL',      12, '', '', 
-        'serial',   'varchar', 'NULL', $char_d, '', '',
+        'modelnum',    'serial',     '',      '', '', '',
+        'model_name', 'varchar',     '', $char_d, '', '',
+        'disabled',      'char', 'NULL',       1, '', '', 
       ],
-      'primary_key' => 'devicenum',
-      'unique' => [ [ 'mac_addr' ], ],
-      'index'  => [ [ 'devicepart' ], [ 'svcnum' ], ],
+      'primary_key' => 'modelnum',
+      'unique' => [ [ 'model_name' ], ],
+      'index'  => [],
     },
 
     'vend_main' => {