X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=sql%2FPg-upgrade2%2Fglobalprojectnumber_ap_ar_oe.pl;h=f12c92a52bb69d3f2df6c80258779021bdbe7763;hb=1f8b0477b52069959871280c0899f461f5855b1c;hp=6edd14dc4e109f330a0dac83a81a8231bd18bb70;hpb=76c486e3bf157e844b0cf11828d55dae2cb7e439;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 6edd14dc4..f12c92a52 100644 --- a/sql/Pg-upgrade2/globalprojectnumber_ap_ar_oe.pl +++ b/sql/Pg-upgrade2/globalprojectnumber_ap_ar_oe.pl @@ -1,31 +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; -# import vars from caller -our ($dbup_locale, $dbup_myconfig, $dbh); +use parent qw(SL::DBUpgrade2::Base); -die("This script cannot be run from the command line.") unless ($main::form); +sub run { + my ($self) = @_; -sub mydberror { - my ($msg) = @_; - die($dbup_locale->text("Database update error:") . - "
$msg
" . $DBI::errstr); -} - -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);", @@ -34,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;