X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=scripts%2Fdbupgrade2_tool.pl;h=04c024e1779036bfd93944417341a2b25d1532dd;hb=bae74e1eec221b037431a51c571f25b0cced722c;hp=3b9faf976b0d9ef3b1cc6ee1925b40065fd8214a;hpb=90bb521a25eeb37c5bbae1ff68c38e6c142b6e6b;p=kivitendo-erp.git diff --git a/scripts/dbupgrade2_tool.pl b/scripts/dbupgrade2_tool.pl index 3b9faf976..04c024e17 100755 --- a/scripts/dbupgrade2_tool.pl +++ b/scripts/dbupgrade2_tool.pl @@ -1,16 +1,13 @@ #!/usr/bin/perl BEGIN { - if (! -d "bin" || ! -d "SL") { - print("This tool must be run from the kivitendo ERP base directory.\n"); - exit(1); - } + use FindBin; - unshift @INC, "modules/override"; # Use our own versions of various modules (e.g. YAML). - push @INC, "modules/fallback"; # Only use our own versions of modules if there's no system version. + unshift(@INC, $FindBin::Bin . '/../modules/override'); # Use our own versions of various modules (e.g. YAML). + push (@INC, $FindBin::Bin . '/..'); + push (@INC, $FindBin::Bin . '/../modules/fallback'); # Only use our own versions of modules if there's no system version. } - use strict; use warnings; @@ -299,6 +296,23 @@ sub create_upgrade { print $fh "$comment \@description: $description\n"; print $fh "$comment \@depends: @depends\n"; print $fh "$comment \@encoding: $encoding\n"; + + if ($type eq 'pl') { + print $fh "package SL::DBUpgrade2::$filename;\n"; + print $fh "\n"; + print $fh "use strict;\n"; + print $fh "use utf8;\n" if $encoding =~ /utf.?8/i; + print $fh "\n"; + print $fh "use parent qw(SL::DBUpgrade2::Base);\n"; + print $fh "\n"; + print $fh "sub run {\n"; + print $fh " my (\$self) = \@_;\n"; + print $fh "\n"; + print $fh "}\n"; + print $fh "\n"; + print $fh "1;\n"; + } + close $fh; print "File $full_filename created.\n"; @@ -349,9 +363,6 @@ sub apply_upgrade { exit 0; } - my $db_charset = $::lx_office_conf{system}->{dbcharset}; - $db_charset ||= Common::DEFAULT_CHARSET(); - foreach my $control (@upgradescripts) { $control->{file} =~ /\.(sql|pl)$/; my $file_type = $1; @@ -360,9 +371,9 @@ sub apply_upgrade { print "Applying upgrade $control->{file}\n"; if ($file_type eq "sql") { - $dbupgrader->process_query($dbh, "sql/Pg-upgrade2/$control->{file}", $control, $db_charset); + $dbupgrader->process_query($dbh, "sql/Pg-upgrade2/$control->{file}", $control); } else { - $dbupgrader->process_perl_script($dbh, "sql/Pg-upgrade2/$control->{file}", $control, $db_charset); + $dbupgrader->process_perl_script($dbh, "sql/Pg-upgrade2/$control->{file}", $control); } } @@ -464,8 +475,12 @@ sub build_upgrade_order { ####### ####### -$locale = Locale->new; -$form = Form->new; +$locale = Locale->new; +$form = Form->new; +$::request = SL::Request->new( + cgi => CGI->new({}), + layout => SL::Layout::None->new, +); ####### #######