Python 当会话变量不再可用时,如何提交/回滚从SQLAlchemy引擎生成的所有会话?
是否可以让SQLAlchemy为引擎或连接生成的所有会话发出提交或回滚 我从函数中创建了一个会话,但忘记了在函数中提交。现在,在该函数中操作的所有表都被锁定,我必须联系DBA,因为我不再有要提交或回滚的Python 当会话变量不再可用时,如何提交/回滚从SQLAlchemy引擎生成的所有会话?,python,python-2.7,sqlalchemy,Python,Python 2.7,Sqlalchemy,是否可以让SQLAlchemy为引擎或连接生成的所有会话发出提交或回滚 我从函数中创建了一个会话,但忘记了在函数中提交。现在,在该函数中操作的所有表都被锁定,我必须联系DBA,因为我不再有要提交或回滚的会话变量的引用 engine = sqlalchemy.create_engine(con_str) def foo(session): conn = session.connection() conn.execute(some_table.update().value(...)
会话
变量的引用
engine = sqlalchemy.create_engine(con_str)
def foo(session):
conn = session.connection()
conn.execute(some_table.update().value(...)
# Forgot to commit here
def main():
Session = sessionmaker(bind=engine)
session = Session()
foo()
engine=sqlalchemy.create_引擎(con_str)
def foo(会议):
conn=session.connection()
conn.execute(some_table.update().value(…)
#忘了在这里承诺
def main():
会话=会话生成器(绑定=引擎)
会话=会话()
foo()
当然,现在我的表被锁定了,我什么也做不了。只要重新启动进程?@univerio如果在事务期间重新启动,sqlalchemy会发出回滚吗?如果启动了事务,并断开与服务器的连接,则事务将被丢弃。不会显式发出任何
回滚
命令,但效果将我也一样。