python—在异常情况下自动回滚有哪些缺点?

mxg2im7a  于 2021-09-08  发布在  Java
关注(0)|答案(0)|浏览(205)

当您编写flask+sqlalchemy应用程序并进行db查询+异常处理时,如下所示:

def add_user(user: User) -> bool:  # was the user added?
    errors = []
    try:
        db.session.add(user)
        db.session.commit()
    except Exception:  # e.g. Integrity error
        return False

它可以稍后显示 PendingRollbackError . 我在几个项目中使用的解决方案如下:

@app.teardown_request
def teardown_request(exception):
    if exception:
        db.session.rollback()
    db.session.remove()

这种解决方案的缺点是什么?如果没有,我想知道为什么默认情况下不这样做。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题