db.create_all() 报错,flask_sqlalchemy 创建数据库找不到上下文

作者: tww844475003 分类: Python 发布时间: 2024-05-27 21:20

报错信息

RuntimeError: Working outside of application context.

This typically means that you attempted to use functionality that needed
the current application. To solve this, set up an application context
with app.app_context(). See the documentation for more information.

原因

Flask-SQLAlchemy 3 开始,所有对db.engine (和db.session)的访问都需要一个活动的Flask应用程序上下文。db.create_all 使用 db.engine,因此它需要一个应用程序上下文。

解决方法

with app.app_context():
    db.create_all()

总结

除了以上方法,当然也可以降低 Flask-SQLAlchemy 的版本。

前端开发那点事
微信公众号搜索“前端开发那点事”

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注