X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=sql%2FPg-upgrade2%2Fglobalprojectnumber_ap_ar_oe.pl;h=f12c92a52bb69d3f2df6c80258779021bdbe7763;hb=805255330a34b43fe8cee050808ca0e76c9a412b;hp=608e44207a625aa2cc04a7e91e7588b2fd24c06a;hpb=03ca3d74f96bf05a9c632b3e0f9538785d8a0fc6;p=kivitendo-erp.git
diff --git a/sql/Pg-upgrade2/globalprojectnumber_ap_ar_oe.pl b/sql/Pg-upgrade2/globalprojectnumber_ap_ar_oe.pl
index 608e44207..f12c92a52 100644
--- a/sql/Pg-upgrade2/globalprojectnumber_ap_ar_oe.pl
+++ b/sql/Pg-upgrade2/globalprojectnumber_ap_ar_oe.pl
@@ -1,28 +1,16 @@
# @tag: globalprojectnumber_ap_ar_oe
# @description: Neue Spalte für eine globale Projektnummer in Einkaufs- und Verkaufsbelegen
# @depends: release_2_4_1
+package SL::DBUpgrade2::globalprojectnumber_ap_ar_oe;
use strict;
+use utf8;
-die("This script cannot be run from the command line.") unless ($main::form);
+use parent qw(SL::DBUpgrade2::Base);
-sub mydberror {
- my ($msg) = @_;
- die($dbup_locale->text("Database update error:") .
- "
$msg
" . $DBI::errstr);
-}
-
-sub do_query {
- my ($query, $may_fail) = @_;
+sub run {
+ my ($self) = @_;
- 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);",
@@ -31,11 +19,10 @@ sub do_update {
"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);
+ $self->db_query("ALTER TABLE project ADD PRIMARY KEY (id)", may_fail => 1);
+ $self->db_query($_) for @queries;
return 1;
}
-return do_update();
-
+1;