rt# 74031 reworked realestate schema as locations and units
[freeside.git] / FS / FS / Schema.pm
index b94407b..e1301b6 100644 (file)
@@ -7636,38 +7636,48 @@ sub tables_hashref {
       'foreign_keys'  => [],
     },
 
-    'realestate_property' => {
+    'realestate_unit' => {
       'columns' => [
-        'propnum',  'serial',  '',     '',      '',  '',
-        'agentnum', 'int',     'NULL', '',      '',  '',
-        'title',    'varchar', '',     $char_d, '',  '',
-        'address1', 'varchar', 'NULL', $char_d, '',  '',
-        'address2', 'varchar', 'NULL', $char_d, '',  '',
-        'city',     'varchar', 'NULL', $char_d, '',  '',
-        'state',    'varchar', 'NULL', $char_d, '',  '',
-        'zip',      'char',    'NULL', 5,       '',  '',
-        'disabled', 'char',    '',     1,       '0', '',
+        'realestatenum',    'serial',  '',     '',      '',  '',
+        'realestatelocnum', 'int',     '',     '',      '',   '',
+        'agentnum',         'int',     'NULL', '',      '',  '',
+        'custnum',          'int',     'NULL', '',      '',  '',
+        'unit_title',       'varchar', '',     $char_d, '',  '',
+        'disabled',         'char',    'NULL', 1,       '',  '',
+      ],
+      'primary_key'  => 'realestatenum',
+      'unique'       => [ ['unit_title'] ],
+      'index'        => [
+        ['agentnum'],
+        ['custnum'],
+        ['realestatelocnum'],
+        ['disabled'],
+        ['title']
       ],
-      'primary_key'  => 'propnum',
-      'unique'       => [],
-      'index'        => [ ['agentnum'] ],
       'foreign_keys' => [
-        {columns => ['agentnum'], table => 'agent'}
+        {columns => ['agentnum'], table => 'agent'},
+        {columns => ['custnum'],  table => 'cust_main'},
+        {columns => ['realestatelocnum'] => table => 'realestate_location'},
       ],
     },
 
-    'realestate_subproperty' => {
+    realestate_location => {
       'columns' => [
-        'subpropnum', 'serial',  '', '',      '',  '',
-        'propnum',    'int',     '', '',      '',  '',
-        'subtitle',   'varchar', '', $char_d, '',  '',
-        'disabled',   'char',    '', 1,       '0', '',
+        'realestatelocnum', 'serial',  '',     '',      '', '',
+        'agentnum',         'int',     'NULL', '',      '', '',
+        'location_title',   'varchar', '',     $char_d, '', '',
+        'address1',         'varchar', 'NULL', $char_d, '',  '',
+        'address2',         'varchar', 'NULL', $char_d, '',  '',
+        'city',             'varchar', 'NULL', $char_d, '',  '',
+        'state',            'varchar', 'NULL', $char_d, '',  '',
+        'zip',              'char',    'NULL', 5,       '',  '',
+        'disabled',         'char',    'NULL', 1,       '',  '',
       ],
-      'primary_key'  => 'subpropnum',
-      'unique'       => [],
-      'index'        => [ ['propnum'],['subtitle'] ],
+      primary_key  => 'realestatelocnum',
+      'unique'     => [ ['location_title'] ],
+      'index'      => [ ['agentnum'], ['disabled'] ],
       'foreign_keys' => [
-        {columns => ['propnum'], table => 'realestate_property'}
+        {columns => ['agentnum'], table => 'agent'},
       ],
     },