X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=sql%2FPg-upgrade2%2Fglobalprojectnumber_ap_ar_oe.pl;h=f12c92a52bb69d3f2df6c80258779021bdbe7763;hb=1d99e3e9537f75342a9f20f1e89a3e8cb4bb5444;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;