Betrifft das Surrogat-dbh-handling in db-upgrades.
Der alte Code versucht $::form->get_standard_dbh mit dem Upgrade Handle
zu überschreiben, damit Code der im Upgrade läuft das benutzen kann. Das
geht mit dem SL::DB->client handling nicht.
Angenehmer Nebeneffekt ist, dass man jetzt sofort bei Testläufen auf der
Konsole sieht wenn das passiert, weil das Handle nicht funktioniert und
damit abstürzt.
$dbh->begin_work;
# setup dbup_ export vars & run script
- my $old_dbh = SL::DB->client->dbh;
- SL::DB->client->dbh($dbh);
my %dbup_myconfig = map { ($_ => $::form->{$_}) } qw(dbname dbuser dbpasswd dbhost dbport dbconnect);
my $result = eval {
SL::DBUpgrade2::Base::execute_script(
my $error = $EVAL_ERROR;
- SL::DB->client->dbh($old_dbh);
-
$dbh->rollback if 1 != ($result // -1);
return $error if $self->{return_on_error} && (1 != ($result // -1));