On Tuesday 05 February 2008, Jan Roesner wrote:
> ich werde aus der 2006'er Ausgabe der Bibel nicht ganz schlau wenn es
> um transactions geht. Ich habe Models, die in keiner Beziehung
> stehen, unter bestimmten Umständen aber doch in einer Transaktion
> gespeichert werden müssen.
In Rails gibt es keine nested transactions. (Es gibt, meine ich, ein
Plugin, das PostgreSQL-Savepoints unterstützt, was so ziemlich am
nächsten an nested transactions herankommt.) Was es gibt, das sind
geschachtelte Transaktionsblöcke, wobei nur der äußerste überhaupt eine
Wirkung hat, nämlich dass eine Datenbanktransaktion begonnen wird,
wobei auf dieser Transaktion nur dann ein Rollback ausgeführt wird,
falls der Block mit einer Exception verlassen wird, ansonsten wird die
Transaktion mit Commit beendet.
Insbesondere bedeutet das auch, dass es völlig egal ist, auf welcher
Model-Klasse #transaction { ... } aufgerufen wird;
ActiveRecord::Base#transaction { ... } tut's auch.
Michael
--
Michael Schuerig
mailto:[EMAIL PROTECTED]
http://www.schuerig.de/michael/
_______________________________________________
rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug