Anscheinend gab es irgendwo im Upgrade-Pfad Unstimmigkeiten, sodass nicht alle Datenb...
authorMoritz Bunkus <m.bunkus@linet-services.de>
Tue, 20 Feb 2007 16:14:56 +0000 (16:14 +0000)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Tue, 20 Feb 2007 16:14:56 +0000 (16:14 +0000)
sql/Pg-upgrade2/globalprojectnumber_ap_ar_oe.pl [new file with mode: 0644]
sql/Pg-upgrade2/globalprojectnumber_ap_ar_oe.sql [deleted file]

diff --git a/sql/Pg-upgrade2/globalprojectnumber_ap_ar_oe.pl b/sql/Pg-upgrade2/globalprojectnumber_ap_ar_oe.pl
new file mode 100644 (file)
index 0000000..a9de59f
--- /dev/null
@@ -0,0 +1,33 @@
+# @tag: globalprojectnumber_ap_ar_oe
+# @description: Neue Spalte f&uuml;r eine globale Projektnummer in Einkaufs- und Verkaufsbelegen
+# @depends: release_2_4_1
+
+die("This script cannot be run from the command line.") unless ($main::form);
+
+sub do_query {
+  my ($query, $may_fail) = @_;
+
+  if (!$dbh->do($query)) {
+    mydberror($query) unless ($may_fail);
+    $dbh->rollback();
+    $dbh->begin_work();
+  }
+}
+
+sub do_update {
+  my @queries =
+    ("ALTER TABLE ap ADD COLUMN globalproject_id integer;",
+     "ALTER TABLE ap ADD FOREIGN KEY (globalproject_id) REFERENCES project (id);",
+     "ALTER TABLE ar ADD COLUMN globalproject_id integer;",
+     "ALTER TABLE ar ADD FOREIGN KEY (globalproject_id) REFERENCES project (id);",
+     "ALTER TABLE oe ADD COLUMN globalproject_id integer;",
+     "ALTER TABLE oe ADD FOREIGN KEY (globalproject_id) REFERENCES project (id);");
+
+  do_query("ALTER TABLE project ADD PRIMARY KEY (id);", 1);
+  map({ do_query($_, 0); } @queries);
+
+  return 1;
+}
+
+return do_update();
+
diff --git a/sql/Pg-upgrade2/globalprojectnumber_ap_ar_oe.sql b/sql/Pg-upgrade2/globalprojectnumber_ap_ar_oe.sql
deleted file mode 100644 (file)
index 932cad4..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
--- @tag: globalprojectnumber_ap_ar_oe
--- @description: Neue Spalte f&uuml;r eine globale Projektnummer in Einkaufs- und Verkaufsbelegen
--- @depends: release_2_4_1
-ALTER TABLE ap ADD COLUMN globalproject_id integer;
-ALTER TABLE ap ADD FOREIGN KEY (globalproject_id) REFERENCES project (id);
-ALTER TABLE ar ADD COLUMN globalproject_id integer;
-ALTER TABLE ar ADD FOREIGN KEY (globalproject_id) REFERENCES project (id);
-ALTER TABLE oe ADD COLUMN globalproject_id integer;
-ALTER TABLE oe ADD FOREIGN KEY (globalproject_id) REFERENCES project (id);