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

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

时间:2024-05-02 18:33:05浏览次数:32  
标签:sqlalchemy flask create db 报错 上下文

问题报错:

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.x.x)
可以这样写

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

标签:sqlalchemy,flask,create,db,报错,上下文
From: https://www.cnblogs.com/skyvip/p/18170417

相关文章

  • SAP 事务代码CU71报错 - 特性LOBM_LWEDT不存在 -
    SAP事务代码CU71报错-特性LOBM_LWEDT不存在 -  1,在事务代码CU71或者如下配置里。    定义排序规则,   试图使用SAP标准特性LOBM_LWEDT, SAP报错说:’特性LOBM_LWEDT不存在’。这是SAP系统上的一个标准的特性,怎么能不存在SAP系统上呢?  2,解决方法:......
  • 报错“Please indicate a valid Swagger or OpenAPI version field”
    报错“PleaseindicateavalidSwaggerorOpenAPIversionfield”报错信息PleaseindicateavalidSwaggerorOpenAPIversionfield.Supportedversionfieldsareswagger:"2.0"andthosethatmatchopenapi:3.0.n(forexample,openapi:3.0.0). 原因分析根......
  • IDEA在运行maven打war的时候报错:Cannot access defaults field of Properties
    问题描述:解决方案在pom.xml文件中引入:<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-war-plugin</artifactId>......
  • mycat启动报错Could not reserve enough space for 2097152KB object heap
    mycat启动报错:报错1:Couldnotreserveenoughspacefor2097152KBobjectheap找到wrapper.conf修改内存大小为1G #InitialJavaHeapSize(inMB)#wrapper.java.initmemory=3wrapper.java.initmemory=1024#MaximumJavaHeapSize(inMB)#wrapper.java.maxmemor......
  • macOS OpenCV报错:Undefined symbols for architecture x86_64
    这个错误可能是链接的OpenCV库不对,我这里的情况是我代码使用的GCC编译器,但是通过brewinstallopencv安装的OpenCV是使用clang编译的,代码也使用clang编译器可以解决这个问题。要查看opencv的编译信息,可以使用这个命令opencv_version-v我这边输出Generalconfigurationfo......
  • FPS游戏里添加物理材质后,没有击中目标时射击会报错的问题
    设置了不同的物理材质后 然后设定了子弹打中不同材质时,播放不同的命中特效 但是如果某次开枪,如果没有击中任何物体,比如天空,远处,子弹无论有没有被销毁,此次射击没有命中目标,那么系统会判定子弹产生的命中特效无访问,应该是找不到生成特效的点 只需要设置个变量布尔值,判断......
  • 嵌入式Linux,openssh连接报错:ssh_sandbox_violation: unexpected system call
     背景:使用buildroot编译完镜像,烧录到开发板,板子上电启动后,网络正常,ssh不能连接,sshd相同配置在其他机器上可以正常使用;查看内核日志,看到连接时上报异常系统调用的错误:Jan100:01:18NanoPC-T2auth.critsshd[278]:fatal:ssh_sandbox_violation:unexpectedsystemcall......
  • 当Surveymonkey报错Request Header Fields Too Large时需要清理Edge浏览器缓存
     第一步:点击浏览器左上角的...第二步:依次进入Cookie和网站权限---管理和删除Cookie和站点数据。第三步:点击查看所有Cookie和站点数据。第四步:点击全部删除。第五步:清除站点Cooke数据。......
  • npm install报错提示证书过期CERT_HAS_EXPIRED
    npminstall报错提示证书过期CERT_HAS_EXPIREDnpm ERR! code CERT_HAS_EXPIREDnpm ERR! errno CERT_HAS_EXPIREDnpm ERR! request to https://registry.npm.taobao.org/xxx failed, reason: certificate has expired这个错误是由于您尝试连接的服务器上的SSL证......
  • 当前上下文中不存在名称“InitializeComponent”
    使用VS(VisualStudio)编写C#.NET的WPF、Winform程序时,经常会遇到“当前上下文不存在initializecomponent”的提示,网上有很多种可能,我遇到的是如下解决办法( 怀疑是批量替换文件,或者修改文件名导致。):点击项目,删除如下内容: 或者注释掉:......