a9de59f1d2a1a201c9b5397b747b8544eef33418
[kivitendo-erp.git] / sql / Pg-upgrade2 / globalprojectnumber_ap_ar_oe.pl
1 # @tag: globalprojectnumber_ap_ar_oe
2 # @description: Neue Spalte für eine globale Projektnummer in Einkaufs- und Verkaufsbelegen
3 # @depends: release_2_4_1
4
5 die("This script cannot be run from the command line.") unless ($main::form);
6
7 sub do_query {
8   my ($query, $may_fail) = @_;
9
10   if (!$dbh->do($query)) {
11     mydberror($query) unless ($may_fail);
12     $dbh->rollback();
13     $dbh->begin_work();
14   }
15 }
16
17 sub do_update {
18   my @queries =
19     ("ALTER TABLE ap ADD COLUMN globalproject_id integer;",
20      "ALTER TABLE ap ADD FOREIGN KEY (globalproject_id) REFERENCES project (id);",
21      "ALTER TABLE ar ADD COLUMN globalproject_id integer;",
22      "ALTER TABLE ar ADD FOREIGN KEY (globalproject_id) REFERENCES project (id);",
23      "ALTER TABLE oe ADD COLUMN globalproject_id integer;",
24      "ALTER TABLE oe ADD FOREIGN KEY (globalproject_id) REFERENCES project (id);");
25
26   do_query("ALTER TABLE project ADD PRIMARY KEY (id);", 1);
27   map({ do_query($_, 0); } @queries);
28
29   return 1;
30 }
31
32 return do_update();
33