$dbh->begin_work;
# setup dbup_ export vars & run script
+ my $old_dbh = $::form->set_standard_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;
+ $::form->set_standard_dbh($old_dbh);
+
$dbh->rollback if 1 != ($result // -1);
return $error if $self->{return_on_error} && (1 != ($result // -1));
$dbh->do("UPDATE defaults SET version = " . $dbh->quote($version_or_control));
}
- $dbh->commit if $dbh->{AutoCommit} && $dbh->{BegunWork};
+ $dbh->commit if !$dbh->{AutoCommit} || $dbh->{BegunWork};
# Clear $::form of values that may have been set so that following
# Perl upgrade scripts won't have to work with old data (think of