Sektionen
Benutzerspezifische Werkzeuge
Sie sind hier: Startseite Support Dokumentation docs Eine ZODB-Transaktion im debug-Modus rückgängig machen

Eine ZODB-Transaktion im debug-Modus rückgängig machen

Wie kann ich im debug-Modus eine ZODB-Transaktion rückgängig machen?

Nachdem die Zope-Instanz per

$ bin/instance debug

im debug-Modus gestartet wurde, holt man sich mit

>>> app._p_jar._db
<ZODB.DB.DB object at 0x6538810>

das ZODB-Objekt.

Um nun eine Transaktion rückgängig zu machen, benötigt man zu allererst die ID der entsprechenden Transaktion. Diese bekommt man beispielsweise duch Auslesen des Undo-Logs.

Angenommen, es soll eine Transaktion mit der ID 'A4knk0Fvv2Y=' rückgänig gemacht werden, so wäre dies mit dem Befehl

>>> app._p_jar._db.undo('A4knk0Fvv2Y=')

zu erreichen. Es ist also die ID der Transaktion anzugeben.

Um dieses Undo nun persistent zu machen, muss die Änderung mit einem commit besiegelt werden:

>>> import transaction as zt
>>> zt.commit()