たとえば、次の2つの違いがありますか?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 –