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

问题报错:

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.

长这个样子:

使用create.all()创建表
本来可以正常生成一个db文件的,但是现在出现这个报错
查了之后是flask_sqlalchemy版本太高导致

from *** import db
db.create.all()

这种写法在flask_sqlalchemy2.5.1时可以使用
解决办法:
1.卸载flask_sqlalchemy或者直接删除文件夹
重新安装低版本

pip install flask_sqlalchemy==2.5.1

要是就想使用现在的版本(3.1.1)
可以这样写

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

因为从Flask-SQLAlchemy3.0开始,所有对db.engine (和db.session)的访问都需要一个活动的Flask应用程序上下文。db.create_all使用db.engine,因此它需要一个应用程序上下文。
更多细节请参考一下网址
https://cloud.tencent.com/developer/ask/sof/107343701

posted @   Excel2016  阅读(187)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示