from contextlib import contextmanager
@contextmanager
def session_scope():
"""Provide a transactional scope around a series of operations."""
session = Session()
try:
yield session
session.commit()
except:
session.rollback()
raise
finally:
session.close()
def run_my_program():
with session_scope() as session:
ThingOne().go(session)
ThingTwo().go(session)
对于python SQL Alchemy,我们可以使用decorator和context manager来管理事务(来自doc的正式示例):
一个transactions library也是一个很好的选择。在
相关问题 更多 >
编程相关推荐