Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 96670fe8

Von Moritz Bunkus vor fast 9 Jahren hinzugefügt

  • ID 96670fe82a38116ac10592a6ccbd34800f8ad9f8
  • Vorgänger e5a76ed1
  • Nachfolger 0b84f51f

»with_transaction« anstelle von »do_transaction« verwenden

Es sollte so selten wie möglich »do_transaction« verwndet werden, damit
man sich immer angewöhnt, »with_transaction« zu nutzen.

Hintergründe und Unterschiede zwischen den beiden Funktionen sind in der
Dokumentation von SL/DB.pm beschrieben.

Unterschiede anzeigen:

t/ar/ar.t
my $db = $invoice->db;
$db->do_transaction( sub {
$db->with_transaction( sub {
my $tax = SL::DB::Manager::Tax->find_by(taxkey => 0, rate => 0);
......
_save_and_pay_and_check(invoice => $invoice, bank => $bank, pay => 1, check => 1);
1;
}) || die "something went wrong: " . $db->error;
return $invoice->invnumber;
};
......
my $db = $invoice->db;
$db->do_transaction( sub {
$db->with_transaction( sub {
# TODO: check for currency and exchange rate
......
$invoice->create_ar_row( chart => $ar_chart );
_save_and_pay_and_check(invoice => $invoice, bank => $bank, pay => 1, check => 1);
1;
}) || die "something went wrong: " . $db->error;
return $invoice->invnumber;
};

Auch abrufbar als: Unified diff