package categories (meta package classes) and grouping invoices by them
[freeside.git] / FS / FS / Schema.pm
index e431b07..22a7317 100644 (file)
@@ -192,6 +192,14 @@ sub dbdef_dist {
                         }
                         keys %indices;
 
+    $h_indices{"h_${table}_srckey"} = DBIx::DBSchema::Index->new({
+                                        'name'    => "h_${table}_srckey",
+                                        'unique'  => 0,
+                                        'columns' => [ 'history_action', #right?
+                                                       $tableobj->primary_key,
+                                                     ],
+                                      });
+
     my $h_tableobj = DBIx::DBSchema::Table->new( {
       'name'          => "h_$table",
       'primary_key'   => 'historynum',
@@ -481,12 +489,16 @@ sub tables_hashref {
       'columns' => [
         'billpkgnum', 'serial', '', '', '', '', 
         'pkgnum',  'int', '', '', '', '', 
+        'pkgpart_override',  'int', 'NULL', '', '', '', 
         'invnum',  'int', '', '', '', '', 
         'setup',   @money_type, '', '', 
         'recur',   @money_type, '', '', 
         'sdate',   @date_type, '', '', 
         'edate',   @date_type, '', '', 
         'itemdesc', 'varchar', 'NULL', $char_d, '', '', 
+        'quantity',  'int', 'NULL', '', '', '',
+        'unitsetup', @money_typen, '', '', 
+        'unitrecur', @money_typen, '', '', 
       ],
       'primary_key' => 'billpkgnum',
       'unique' => [],
@@ -498,6 +510,7 @@ sub tables_hashref {
         'detailnum', 'serial', '', '', '', '', 
         'pkgnum',  'int', '', '', '', '', 
         'invnum',  'int', '', '', '', '', 
+        'format',  'char', 'NULL', 1, '', '',
         'detail',  'varchar', '', $char_d, '', '', 
       ],
       'primary_key' => 'detailnum',
@@ -898,6 +911,7 @@ sub tables_hashref {
         'change_pkgnum',  'int', 'NULL', '', '', '',
         'change_pkgpart', 'int', 'NULL', '', '', '',
         'manual_flag',    'char', 'NULL', 1, '', '', 
+        'quantity',       'int', 'NULL', '', '', '',
       ],
       'primary_key' => 'pkgnum',
       'unique' => [],
@@ -1007,6 +1021,18 @@ sub tables_hashref {
       'index' => [ [ 'promo_code' ], [ 'disabled' ], [ 'agentnum' ], ],
     },
 
+    'part_pkg_link' => {
+      'columns' => [
+        'pkglinknum',  'serial',  '',      '', '', '',
+        'src_pkgpart', 'int',     '',      '', '', '',
+        'dst_pkgpart', 'int',     '',      '', '', '', 
+        'link_type',   'varchar', '', $char_d, '', '',
+      ],
+      'primary_key' => 'pkglinknum',
+      'unique' => [ [ 'src_pkgpart', 'dst_pkgpart', 'link_type' ] ],
+      'index'  => [ [ 'src_pkgpart' ] ],
+    },
+
     'part_pkg_taxclass' => {
       'columns' => [
         'taxclassnum',  'serial', '',       '', '', '',
@@ -1055,11 +1081,11 @@ sub tables_hashref {
       'columns' => [
         'taxoverridenum', 'serial', '', '', '', '',
         'pkgpart',        'serial', '', '', '', '',
-        'taxnum',         'serial', '', '', '', '',
+        'taxclassnum',    'serial', '', '', '', '',
       ],
       'primary_key' => 'taxoverridenum',
       'unique' => [],
-      'index' => [ [ 'pkgpart' ], [ 'taxnum' ] ],
+      'index' => [ [ 'pkgpart' ], [ 'taxclassnum' ] ],
     },
 
 #    'part_title' => {
@@ -1752,11 +1778,23 @@ sub tables_hashref {
       'index'       => [],
     },
 
+    'pkg_category' => {
+      'columns' => [
+        'categorynum',   'serial',  '', '', '', '', 
+        'categoryname',  'varchar', '', $char_d, '', '', 
+        'disabled',      'char', 'NULL',   1, '', '', 
+      ],
+      'primary_key' => 'categorynum',
+      'unique' => [],
+      'index' => [ ['disabled'] ],
+    },
+
     'pkg_class' => {
       'columns' => [
-        'classnum',   'serial',  '', '', '', '', 
-        'classname',  'varchar', '', $char_d, '', '', 
-        'disabled',     'char', 'NULL',   1, '', '', 
+        'classnum',    'serial',   '',      '', '', '', 
+        'classname',   'varchar',  '', $char_d, '', '', 
+        'categorynum', 'int',  'NULL',      '', '', '', 
+        'disabled',    'char', 'NULL',       1, '', '', 
       ],
       'primary_key' => 'classnum',
       'unique' => [],