Consolidation and extended test runs
[kivitendo-erp.git] / t / 000setup_database.t
index 3d5ca6c..affd477 100755 (executable)
@@ -14,7 +14,6 @@ use SL::InstanceConfiguration;
 use SL::LXDebug;
 use SL::Layout::None;
 use SL::LxOfficeConf;
-use XML::LibXML;
 
 our ($db_cfg, $dbh);
 
@@ -145,6 +144,30 @@ sub apply_upgrades {
   my @unapplied_scripts = $dbupdater->unapplied_upgrade_scripts($dbh);
 
   apply_dbupgrade($dbupdater, $_) for @unapplied_scripts;
+
+  # some dpupgrades are hardcoded for Germany and will be recovered by the same nasty code
+  if ((not defined $params{auth}) && ($::lx_office_conf{system}->{default_manager} eq "swiss")) {
+    # buchungsgruppen_sortkey.sql depends release_2_4_1
+    dbh_do($dbh, qq|UPDATE buchungsgruppen SET sortkey=1  WHERE description='Standard 8%'|);
+    dbh_do($dbh, qq|UPDATE buchungsgruppen SET sortkey=2  WHERE description='Standard 2.5%'|);
+    # steuerfilterung.pl depends release_3_0_0
+    dbh_do($dbh, qq|ALTER TABLE tax ADD chart_categories TEXT|);
+    dbh_do($dbh, qq|UPDATE tax SET chart_categories = 'I' WHERE (taxnumber='2200') OR (taxnumber='2201')|);
+    dbh_do($dbh, qq|UPDATE tax SET chart_categories = 'E' WHERE (taxnumber='1170') OR (taxnumber='1171')|);
+    dbh_do($dbh, qq|UPDATE tax SET chart_categories = 'ALQCIE' WHERE chart_categories IS NULL|);
+    dbh_do($dbh, qq|ALTER TABLE tax ALTER COLUMN chart_categories SET NOT NULL|);
+    # taxzone_id_in_oe_delivery_orders.sql depends release_3_1_0
+    dbh_do($dbh, qq|UPDATE oe SET taxzone_id = (SELECT id FROM tax_zones WHERE description = 'Schweiz') WHERE (taxzone_id = 0) OR (taxzone_id IS NULL)|);
+    dbh_do($dbh, qq|UPDATE delivery_orders SET taxzone_id = (SELECT id FROM tax_zones WHERE description = 'Schweiz') WHERE (taxzone_id = 0) OR (taxzone_id IS NULL)|);
+    dbh_do($dbh, qq|UPDATE ar SET taxzone_id = (SELECT id FROM tax_zones WHERE description = 'Schweiz') WHERE (taxzone_id = 0) OR (taxzone_id IS NULL)|);
+    dbh_do($dbh, qq|UPDATE ap SET taxzone_id = (SELECT id FROM tax_zones WHERE description = 'Schweiz') WHERE (taxzone_id = 0) OR (taxzone_id IS NULL)|);
+    # tax_skonto_automatic.sql depends release_3_2_0
+    dbh_do($dbh, qq|UPDATE tax SET skonto_purchase_chart_id = (SELECT id FROM chart WHERE accno = '4900')|);
+    dbh_do($dbh, qq|UPDATE tax SET skonto_sales_chart_id = (SELECT id FROM chart WHERE accno = '3800')|);
+    # not available
+    dbh_do($dbh, qq|UPDATE defaults SET rndgain_accno_id = (SELECT id FROM CHART WHERE accno='6953')|);
+    dbh_do($dbh, qq|UPDATE defaults SET rndloss_accno_id = (SELECT id FROM CHART WHERE accno='6943')|);
+  }
 }
 
 sub create_client_user_and_employee {