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。
相關:https://stackoverflow.com/questions/17008441/why-do-sqlalchemy-session-close-not-log-rollback –