Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 865ea676

Von Sven Schöling vor mehr als 8 Jahren hinzugefügt

  • ID 865ea676d6394b4fb7e675866812248eeedd5beb
  • Vorgänger eb5168ea
  • Nachfolger 471af251

DBUpgrade2: single-dbh

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.

Unterschiede anzeigen:

SL/DBUpgrade2.pm
243 243
  $dbh->begin_work;
244 244

  
245 245
  # setup dbup_ export vars & run script
246
  my $old_dbh       = SL::DB->client->dbh;
247
  SL::DB->client->dbh($dbh);
248 246
  my %dbup_myconfig = map { ($_ => $::form->{$_}) } qw(dbname dbuser dbpasswd dbhost dbport dbconnect);
249 247
  my $result        = eval {
250 248
    SL::DBUpgrade2::Base::execute_script(
......
257 255

  
258 256
  my $error = $EVAL_ERROR;
259 257

  
260
  SL::DB->client->dbh($old_dbh);
261

  
262 258
  $dbh->rollback if 1 != ($result // -1);
263 259

  
264 260
  return $error if $self->{return_on_error} && (1 != ($result // -1));

Auch abrufbar als: Unified diff