transactie
Databasetransacties worden ondersteund vanwege de codering / database die wordt gebruikt om asynchrone query 's uit te voeren.
Basisgebruik
Gebruik Database.transactie als asynchrone contextbeheerder om transacties te gebruiken:
1 2 3 4 5 | |
!!!Merk op dat het dezelfde database moet zijn die wordt gebruikt in het ormar\ _ config-object van het model.
Om te voorkomen dat database-instanties in uw code worden doorgegeven, kunt u instanties uit elk model extraheren. De databases die tijdens de ormar worden geleverd. Modeldeclaratie is beschikbaar via ormar\ _ config en is toegankelijk vanuit klassen en instanties.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | |
U kunt .transactie () ook gebruiken als functiedecorateur voor elke asynchrone functie:
1 2 3 | |
Transactieblokken worden beheerd als taak-lokale staat. Genestelde transacties worden volledig ondersteund en geïmplementeerd met behulp van database-opslagpunten.
handmatig vastleggen / terugdraaien
Voor handel-API 's op een lager niveau kunt u deze handmatig activeren
1 2 3 4 5 6 7 8 | |
proef
Transacties zijn ook handig tijdens het testen wanneer u gedwongen rollbacks kunt toepassen en niet na elke test gegevens hoeft op te schonen.
1 2 3 4 5 6 | |