MetaSetup: Folgerun um die Foreign Keys umzudrehen
authorSven Schöling <s.schoeling@linet-services.de>
Tue, 25 Jun 2013 16:13:21 +0000 (18:13 +0200)
committerSven Schöling <s.schoeling@linet-services.de>
Tue, 25 Jun 2013 16:13:21 +0000 (18:13 +0200)
30 files changed:
SL/DB/MetaSetup/Currency.pm
SL/DB/MetaSetup/Customer.pm
SL/DB/MetaSetup/DeliveryOrder.pm
SL/DB/MetaSetup/DeliveryOrderItem.pm
SL/DB/MetaSetup/Department.pm
SL/DB/MetaSetup/Draft.pm
SL/DB/MetaSetup/Dunning.pm
SL/DB/MetaSetup/DunningConfig.pm
SL/DB/MetaSetup/Employee.pm
SL/DB/MetaSetup/FollowUp.pm
SL/DB/MetaSetup/FollowUpLink.pm
SL/DB/MetaSetup/GLTransaction.pm
SL/DB/MetaSetup/GenericTranslation.pm
SL/DB/MetaSetup/Invoice.pm
SL/DB/MetaSetup/InvoiceItem.pm
SL/DB/MetaSetup/Language.pm
SL/DB/MetaSetup/Note.pm
SL/DB/MetaSetup/Order.pm
SL/DB/MetaSetup/OrderItem.pm
SL/DB/MetaSetup/Part.pm
SL/DB/MetaSetup/PartsGroup.pm
SL/DB/MetaSetup/PaymentTerm.pm
SL/DB/MetaSetup/PeriodicInvoice.pm
SL/DB/MetaSetup/PeriodicInvoicesConfig.pm
SL/DB/MetaSetup/PriceFactor.pm
SL/DB/MetaSetup/Pricegroup.pm
SL/DB/MetaSetup/Printer.pm
SL/DB/MetaSetup/PurchaseInvoice.pm
SL/DB/MetaSetup/Shipto.pm
SL/DB/MetaSetup/TransferType.pm

index c07ef65..40bb6ee 100644 (file)
@@ -17,20 +17,6 @@ __PACKAGE__->meta->primary_key_columns([ 'id' ]);
 
 __PACKAGE__->meta->unique_keys([ 'name' ]);
 
-__PACKAGE__->meta->relationships(
-  ap => {
-    class      => 'SL::DB::PurchaseInvoice',
-    column_map => { id => 'currency_id' },
-    type       => 'one to many',
-  },
-
-  ar => {
-    class      => 'SL::DB::Invoice',
-    column_map => { id => 'currency_id' },
-    type       => 'one to many',
-  },
-);
-
 # __PACKAGE__->meta->initialize;
 
 1;
index 2d8a750..bd54c07 100644 (file)
@@ -70,6 +70,16 @@ __PACKAGE__->meta->foreign_keys(
     class       => 'SL::DB::Currency',
     key_columns => { currency_id => 'id' },
   },
+
+  language_obj => {
+    class       => 'SL::DB::Language',
+    key_columns => { language_id => 'id' },
+  },
+
+  payment => {
+    class       => 'SL::DB::PaymentTerm',
+    key_columns => { payment_id => 'id' },
+  },
 );
 
 # __PACKAGE__->meta->initialize;
index 0877f90..f6e1aab 100644 (file)
@@ -61,11 +61,36 @@ __PACKAGE__->meta->foreign_keys(
     key_columns => { customer_id => 'id' },
   },
 
+  department => {
+    class       => 'SL::DB::Department',
+    key_columns => { department_id => 'id' },
+  },
+
+  employee => {
+    class       => 'SL::DB::Employee',
+    key_columns => { employee_id => 'id' },
+  },
+
   globalproject => {
     class       => 'SL::DB::Project',
     key_columns => { globalproject_id => 'id' },
   },
 
+  language => {
+    class       => 'SL::DB::Language',
+    key_columns => { language_id => 'id' },
+  },
+
+  salesman => {
+    class       => 'SL::DB::Employee',
+    key_columns => { salesman_id => 'id' },
+  },
+
+  shipto => {
+    class       => 'SL::DB::Shipto',
+    key_columns => { shipto_id => 'shipto_id' },
+  },
+
   vendor => {
     class       => 'SL::DB::Vendor',
     key_columns => { vendor_id => 'id' },
index c92c98a..608e3a3 100644 (file)
@@ -44,11 +44,21 @@ __PACKAGE__->meta->foreign_keys(
     key_columns => { delivery_order_id => 'id' },
   },
 
-  parts => {
+  part => {
     class       => 'SL::DB::Part',
     key_columns => { parts_id => 'id' },
   },
 
+  price_factor_obj => {
+    class       => 'SL::DB::PriceFactor',
+    key_columns => { price_factor_id => 'id' },
+  },
+
+  pricegroup => {
+    class       => 'SL::DB::Pricegroup',
+    key_columns => { pricegroup_id => 'id' },
+  },
+
   project => {
     class       => 'SL::DB::Project',
     key_columns => { project_id => 'id' },
index 527234d..244bb79 100644 (file)
@@ -19,20 +19,6 @@ __PACKAGE__->meta->primary_key_columns([ 'id' ]);
 
 __PACKAGE__->meta->allow_inline_column_values(1);
 
-__PACKAGE__->meta->relationships(
-  ap => {
-    class      => 'SL::DB::PurchaseInvoice',
-    column_map => { id => 'department_id' },
-    type       => 'one to many',
-  },
-
-  ar => {
-    class      => 'SL::DB::Invoice',
-    column_map => { id => 'department_id' },
-    type       => 'one to many',
-  },
-);
-
 # __PACKAGE__->meta->initialize;
 
 1;
index 374c19e..0a24c4b 100644 (file)
@@ -22,6 +22,13 @@ __PACKAGE__->meta->primary_key_columns([ 'id' ]);
 
 __PACKAGE__->meta->allow_inline_column_values(1);
 
+__PACKAGE__->meta->foreign_keys(
+  employee => {
+    class       => 'SL::DB::Employee',
+    key_columns => { employee_id => 'id' },
+  },
+);
+
 # __PACKAGE__->meta->initialize;
 
 1;
index 019662b..6e1bb6d 100644 (file)
@@ -28,6 +28,11 @@ __PACKAGE__->meta->primary_key_columns([ 'id' ]);
 __PACKAGE__->meta->allow_inline_column_values(1);
 
 __PACKAGE__->meta->foreign_keys(
+  dunning_config => {
+    class       => 'SL::DB::DunningConfig',
+    key_columns => { dunning_config_id => 'id' },
+  },
+
   fee_interest_ar => {
     class       => 'SL::DB::Invoice',
     key_columns => { fee_interest_ar_id => 'id' },
index 602ae8e..c041917 100644 (file)
@@ -28,20 +28,6 @@ __PACKAGE__->meta->columns(
 
 __PACKAGE__->meta->primary_key_columns([ 'id' ]);
 
-__PACKAGE__->meta->relationships(
-  ar => {
-    class      => 'SL::DB::Invoice',
-    column_map => { id => 'dunning_config_id' },
-    type       => 'one to many',
-  },
-
-  dunning => {
-    class      => 'SL::DB::Dunning',
-    column_map => { id => 'dunning_config_id' },
-    type       => 'one to many',
-  },
-);
-
 # __PACKAGE__->meta->initialize;
 
 1;
index 63b0f1a..7fabdc7 100644 (file)
@@ -33,32 +33,6 @@ __PACKAGE__->meta->unique_keys([ 'login' ]);
 
 __PACKAGE__->meta->allow_inline_column_values(1);
 
-__PACKAGE__->meta->relationships(
-  ap => {
-    class      => 'SL::DB::PurchaseInvoice',
-    column_map => { id => 'employee_id' },
-    type       => 'one to many',
-  },
-
-  ar => {
-    class      => 'SL::DB::Invoice',
-    column_map => { id => 'employee_id' },
-    type       => 'one to many',
-  },
-
-  ar_objs => {
-    class      => 'SL::DB::Invoice',
-    column_map => { id => 'salesman_id' },
-    type       => 'one to many',
-  },
-
-  drafts => {
-    class      => 'SL::DB::Draft',
-    column_map => { id => 'employee_id' },
-    type       => 'one to many',
-  },
-);
-
 # __PACKAGE__->meta->initialize;
 
 1;
index b102f24..8f83c6c 100644 (file)
@@ -33,13 +33,10 @@ __PACKAGE__->meta->foreign_keys(
     class       => 'SL::DB::Employee',
     key_columns => { created_by => 'id' },
   },
-);
 
-__PACKAGE__->meta->relationships(
-  follow_up_links => {
-    class      => 'SL::DB::FollowUpLink',
-    column_map => { id => 'follow_up_id' },
-    type       => 'one to many',
+  note => {
+    class       => 'SL::DB::Note',
+    key_columns => { note_id => 'id' },
   },
 );
 
index 00e25ec..820c16b 100644 (file)
@@ -22,6 +22,13 @@ __PACKAGE__->meta->primary_key_columns([ 'id' ]);
 
 __PACKAGE__->meta->allow_inline_column_values(1);
 
+__PACKAGE__->meta->foreign_keys(
+  follow_up => {
+    class       => 'SL::DB::FollowUp',
+    key_columns => { follow_up_id => 'id' },
+  },
+);
+
 # __PACKAGE__->meta->initialize;
 
 1;
index c8019eb..54dca9a 100644 (file)
@@ -43,14 +43,6 @@ __PACKAGE__->meta->foreign_keys(
   },
 );
 
-__PACKAGE__->meta->relationships(
-  gl => {
-    class      => 'SL::DB::GLTransaction',
-    column_map => { id => 'storno_id' },
-    type       => 'one to many',
-  },
-);
-
 # __PACKAGE__->meta->initialize;
 
 1;
index 46a19ca..94556c7 100644 (file)
@@ -18,6 +18,13 @@ __PACKAGE__->meta->columns(
 
 __PACKAGE__->meta->primary_key_columns([ 'id' ]);
 
+__PACKAGE__->meta->foreign_keys(
+  language => {
+    class       => 'SL::DB::Language',
+    key_columns => { language_id => 'id' },
+  },
+);
+
 # __PACKAGE__->meta->initialize;
 
 1;
index 2dcbb99..8a942fc 100644 (file)
@@ -68,16 +68,56 @@ __PACKAGE__->meta->foreign_keys(
     key_columns => { cp_id => 'cp_id' },
   },
 
+  currency => {
+    class       => 'SL::DB::Currency',
+    key_columns => { currency_id => 'id' },
+  },
+
   customer => {
     class       => 'SL::DB::Customer',
     key_columns => { customer_id => 'id' },
   },
 
+  department => {
+    class       => 'SL::DB::Department',
+    key_columns => { department_id => 'id' },
+  },
+
+  dunning_config => {
+    class       => 'SL::DB::DunningConfig',
+    key_columns => { dunning_config_id => 'id' },
+  },
+
+  employee => {
+    class       => 'SL::DB::Employee',
+    key_columns => { employee_id => 'id' },
+  },
+
   globalproject => {
     class       => 'SL::DB::Project',
     key_columns => { globalproject_id => 'id' },
   },
 
+  language => {
+    class       => 'SL::DB::Language',
+    key_columns => { language_id => 'id' },
+  },
+
+  payment_terms => {
+    class       => 'SL::DB::PaymentTerm',
+    key_columns => { payment_id => 'id' },
+  },
+
+  salesman => {
+    class       => 'SL::DB::Employee',
+    key_columns => { salesman_id => 'id' },
+  },
+
+  shipto => {
+    class       => 'SL::DB::Shipto',
+    key_columns => { shipto_id => 'shipto_id' },
+  },
+
   storno_obj => {
     class       => 'SL::DB::Invoice',
     key_columns => { storno_id => 'id' },
index d02beb7..1ab85ef 100644 (file)
@@ -45,11 +45,21 @@ __PACKAGE__->meta->primary_key_columns([ 'id' ]);
 __PACKAGE__->meta->allow_inline_column_values(1);
 
 __PACKAGE__->meta->foreign_keys(
-  parts => {
+  part => {
     class       => 'SL::DB::Part',
     key_columns => { parts_id => 'id' },
   },
 
+  price_factor_obj => {
+    class       => 'SL::DB::PriceFactor',
+    key_columns => { price_factor_id => 'id' },
+  },
+
+  pricegroup => {
+    class       => 'SL::DB::Pricegroup',
+    key_columns => { pricegroup_id => 'id' },
+  },
+
   project => {
     class       => 'SL::DB::Project',
     key_columns => { project_id => 'id' },
index f4ac9a9..4fd0307 100644 (file)
@@ -24,32 +24,6 @@ __PACKAGE__->meta->primary_key_columns([ 'id' ]);
 
 __PACKAGE__->meta->allow_inline_column_values(1);
 
-__PACKAGE__->meta->relationships(
-  ap => {
-    class      => 'SL::DB::PurchaseInvoice',
-    column_map => { id => 'language_id' },
-    type       => 'one to many',
-  },
-
-  ar => {
-    class      => 'SL::DB::Invoice',
-    column_map => { id => 'language_id' },
-    type       => 'one to many',
-  },
-
-  customer => {
-    class      => 'SL::DB::Customer',
-    column_map => { id => 'language_id' },
-    type       => 'one to many',
-  },
-
-  generic_translations => {
-    class      => 'SL::DB::GenericTranslation',
-    column_map => { id => 'language_id' },
-    type       => 'one to many',
-  },
-);
-
 # __PACKAGE__->meta->initialize;
 
 1;
index 59085cd..7d2dd59 100644 (file)
@@ -30,14 +30,6 @@ __PACKAGE__->meta->foreign_keys(
   },
 );
 
-__PACKAGE__->meta->relationships(
-  follow_ups => {
-    class      => 'SL::DB::FollowUp',
-    column_map => { id => 'note_id' },
-    type       => 'one to many',
-  },
-);
-
 # __PACKAGE__->meta->initialize;
 
 1;
index 397db11..fa4230f 100644 (file)
@@ -97,11 +97,21 @@ __PACKAGE__->meta->foreign_keys(
     key_columns => { language_id => 'id' },
   },
 
+  payment => {
+    class       => 'SL::DB::PaymentTerm',
+    key_columns => { payment_id => 'id' },
+  },
+
   salesman => {
     class       => 'SL::DB::Employee',
     key_columns => { salesman_id => 'id' },
   },
 
+  shipto => {
+    class       => 'SL::DB::Shipto',
+    key_columns => { shipto_id => 'shipto_id' },
+  },
+
   vendor => {
     class       => 'SL::DB::Vendor',
     key_columns => { vendor_id => 'id' },
index dd2fde7..e48d2bd 100644 (file)
@@ -43,7 +43,7 @@ __PACKAGE__->meta->primary_key_columns([ 'id' ]);
 __PACKAGE__->meta->allow_inline_column_values(1);
 
 __PACKAGE__->meta->foreign_keys(
-  part => {
+  parts => {
     class       => 'SL::DB::Part',
     key_columns => { parts_id => 'id' },
   },
@@ -63,7 +63,7 @@ __PACKAGE__->meta->foreign_keys(
     key_columns => { project_id => 'id' },
   },
 
-  order => {
+  trans => {
     class       => 'SL::DB::Order',
     key_columns => { trans_id => 'id' },
   },
index d56c037..3c5eb76 100644 (file)
@@ -67,6 +67,21 @@ __PACKAGE__->meta->foreign_keys(
     key_columns => { buchungsgruppen_id => 'id' },
   },
 
+  partsgroup => {
+    class       => 'SL::DB::PartsGroup',
+    key_columns => { partsgroup_id => 'id' },
+  },
+
+  payment => {
+    class       => 'SL::DB::PaymentTerm',
+    key_columns => { payment_id => 'id' },
+  },
+
+  price_factor => {
+    class       => 'SL::DB::PriceFactor',
+    key_columns => { price_factor_id => 'id' },
+  },
+
   unit_obj => {
     class       => 'SL::DB::Unit',
     key_columns => { unit => 'name' },
index 292489e..9c7f02d 100644 (file)
@@ -19,14 +19,6 @@ __PACKAGE__->meta->primary_key_columns([ 'id' ]);
 
 __PACKAGE__->meta->allow_inline_column_values(1);
 
-__PACKAGE__->meta->relationships(
-  parts => {
-    class      => 'SL::DB::Part',
-    column_map => { id => 'partsgroup_id' },
-    type       => 'one to many',
-  },
-);
-
 # __PACKAGE__->meta->initialize;
 
 1;
index 3eda536..83bd6d2 100644 (file)
@@ -25,38 +25,6 @@ __PACKAGE__->meta->primary_key_columns([ 'id' ]);
 
 __PACKAGE__->meta->allow_inline_column_values(1);
 
-__PACKAGE__->meta->relationships(
-  ap => {
-    class      => 'SL::DB::PurchaseInvoice',
-    column_map => { id => 'payment_id' },
-    type       => 'one to many',
-  },
-
-  ar => {
-    class      => 'SL::DB::Invoice',
-    column_map => { id => 'payment_id' },
-    type       => 'one to many',
-  },
-
-  customer => {
-    class      => 'SL::DB::Customer',
-    column_map => { id => 'payment_id' },
-    type       => 'one to many',
-  },
-
-  oe => {
-    class      => 'SL::DB::Order',
-    column_map => { id => 'payment_id' },
-    type       => 'one to many',
-  },
-
-  parts => {
-    class      => 'SL::DB::Part',
-    column_map => { id => 'payment_id' },
-    type       => 'one to many',
-  },
-);
-
 # __PACKAGE__->meta->initialize;
 
 1;
index 11822c1..5346cfd 100644 (file)
@@ -25,6 +25,11 @@ __PACKAGE__->meta->foreign_keys(
     class       => 'SL::DB::Invoice',
     key_columns => { ar_id => 'id' },
   },
+
+  config => {
+    class       => 'SL::DB::PeriodicInvoicesConfig',
+    key_columns => { config_id => 'id' },
+  },
 );
 
 # __PACKAGE__->meta->initialize;
index 414918a..2beb87a 100644 (file)
@@ -35,14 +35,10 @@ __PACKAGE__->meta->foreign_keys(
     class       => 'SL::DB::Order',
     key_columns => { oe_id => 'id' },
   },
-);
 
-__PACKAGE__->meta->relationships(
-  ars => {
-    map_class => 'SL::DB::PeriodicInvoice',
-    map_from  => 'config',
-    map_to    => 'ar',
-    type      => 'many to many',
+  printer => {
+    class       => 'SL::DB::Printer',
+    key_columns => { printer_id => 'id' },
   },
 );
 
index 3d0aa77..099b658 100644 (file)
@@ -17,26 +17,6 @@ __PACKAGE__->meta->columns(
 
 __PACKAGE__->meta->primary_key_columns([ 'id' ]);
 
-__PACKAGE__->meta->relationships(
-  invoice => {
-    class      => 'SL::DB::InvoiceItem',
-    column_map => { id => 'price_factor_id' },
-    type       => 'one to many',
-  },
-
-  orderitems => {
-    class      => 'SL::DB::OrderItem',
-    column_map => { id => 'price_factor_id' },
-    type       => 'one to many',
-  },
-
-  parts => {
-    class      => 'SL::DB::Part',
-    column_map => { id => 'price_factor_id' },
-    type       => 'one to many',
-  },
-);
-
 # __PACKAGE__->meta->initialize;
 
 1;
index c4491c1..5536d15 100644 (file)
@@ -15,26 +15,6 @@ __PACKAGE__->meta->columns(
 
 __PACKAGE__->meta->primary_key_columns([ 'id' ]);
 
-__PACKAGE__->meta->relationships(
-  delivery_order_items => {
-    class      => 'SL::DB::DeliveryOrderItem',
-    column_map => { id => 'pricegroup_id' },
-    type       => 'one to many',
-  },
-
-  invoice => {
-    class      => 'SL::DB::InvoiceItem',
-    column_map => { id => 'pricegroup_id' },
-    type       => 'one to many',
-  },
-
-  orderitems => {
-    class      => 'SL::DB::OrderItem',
-    column_map => { id => 'pricegroup_id' },
-    type       => 'one to many',
-  },
-);
-
 # __PACKAGE__->meta->initialize;
 
 1;
index 739be1d..f093e5b 100644 (file)
@@ -17,14 +17,6 @@ __PACKAGE__->meta->columns(
 
 __PACKAGE__->meta->primary_key_columns([ 'id' ]);
 
-__PACKAGE__->meta->relationships(
-  periodic_invoices_configs => {
-    class      => 'SL::DB::PeriodicInvoicesConfig',
-    column_map => { id => 'printer_id' },
-    type       => 'one to many',
-  },
-);
-
 # __PACKAGE__->meta->initialize;
 
 1;
index 25727dc..cddfacf 100644 (file)
@@ -56,11 +56,36 @@ __PACKAGE__->meta->foreign_keys(
     key_columns => { cp_id => 'cp_id' },
   },
 
+  currency => {
+    class       => 'SL::DB::Currency',
+    key_columns => { currency_id => 'id' },
+  },
+
+  department => {
+    class       => 'SL::DB::Department',
+    key_columns => { department_id => 'id' },
+  },
+
+  employee => {
+    class       => 'SL::DB::Employee',
+    key_columns => { employee_id => 'id' },
+  },
+
   globalproject => {
     class       => 'SL::DB::Project',
     key_columns => { globalproject_id => 'id' },
   },
 
+  language => {
+    class       => 'SL::DB::Language',
+    key_columns => { language_id => 'id' },
+  },
+
+  payment_terms => {
+    class       => 'SL::DB::PaymentTerm',
+    key_columns => { payment_id => 'id' },
+  },
+
   storno_obj => {
     class       => 'SL::DB::PurchaseInvoice',
     key_columns => { storno_id => 'id' },
index 0d619ea..f7b90d8 100644 (file)
@@ -32,26 +32,6 @@ __PACKAGE__->meta->primary_key_columns([ 'shipto_id' ]);
 
 __PACKAGE__->meta->allow_inline_column_values(1);
 
-__PACKAGE__->meta->relationships(
-  ar => {
-    class      => 'SL::DB::Invoice',
-    column_map => { shipto_id => 'shipto_id' },
-    type       => 'one to many',
-  },
-
-  delivery_orders => {
-    class      => 'SL::DB::DeliveryOrder',
-    column_map => { shipto_id => 'shipto_id' },
-    type       => 'one to many',
-  },
-
-  oe => {
-    class      => 'SL::DB::Order',
-    column_map => { shipto_id => 'shipto_id' },
-    type       => 'one to many',
-  },
-);
-
 # __PACKAGE__->meta->initialize;
 
 1;
index 74a3840..f48c364 100644 (file)
@@ -21,14 +21,6 @@ __PACKAGE__->meta->primary_key_columns([ 'id' ]);
 
 __PACKAGE__->meta->allow_inline_column_values(1);
 
-__PACKAGE__->meta->relationships(
-  inventory => {
-    class      => 'SL::DB::Inventory',
-    column_map => { id => 'trans_type_id' },
-    type       => 'one to many',
-  },
-);
-
 # __PACKAGE__->meta->initialize;
 
 1;