enhance to rollback if any issues occur within the transaction and commit if everything is successful

pull/190/head
Chris Veilleux 2019-06-27 01:21:04 -05:00
parent bb3769cd1f
commit 7e9887447e
1 changed files with 7 additions and 1 deletions

View File

@ -19,7 +19,13 @@ def use_transaction(func):
prev_autocommit = instance.db.autocommit
instance.db.autocommit = False
with instance.db:
return_value = func(*args, **kwargs)
try:
return_value = func(*args, **kwargs)
except:
instance.db.rollback()
raise
else:
instance.db.commit()
instance.db.autocommit = prev_autocommit
return return_value