2017-10-18 227 views
1

例如,以下两种有什么不同?关闭SQLAlchemy ORM会话是否回滚未提交的更改?

session = Session() # Session is a session maker 
try: 
    # do some work 
    session.commit() 
except: 
    session.rollback() 
finally: 
    session.close() 

session = Session() 
try: 
    # do some work 
    session.commit() 
finally: 
    session.close() 

后者是我用来做什么,因为我认为犯(在发生错误的情况下)之前关闭会话不得不为回滚同样的效果。但我看到了第一个表格here

+0

相关:https://stackoverflow.com/questions/17008441/why-do-sqlalchemy-session-close-not-log-rollback –

回答