Flask-SQLAlchemy从2.5升级到3.x后找不到表

问题描述 投票:0回答:1

我正在升级我的 Flask 应用程序所需的包,但遇到了问题。我从 Flask 1.1 升级到 2.2,现在正试图将 Flask-SQLAlchemy 从 2.5 升级到 3.x。我用 pip 升级了,应用程序启动了,但是当我请求一个页面时,SQLAlchemy 抱怨它找不到我的任何表。

我在本地使用 SQLite,我可以使用 SQLite 命令行工具查看表,所以我知道它们存在/没有以某种方式被破坏。我认为这只是一个沟通问题。

flask flask-sqlalchemy upgrade
1个回答
0
投票

由于表仍然存在,我开始查看 Flask-SQLAlchemy 3.0.0 更改日志,我发现了这个:

使用相对路径配置SQLite 是相对于app.instance_path 而不是app.root_path。如有必要,将创建实例文件夹。

我的旧数据库存在于

./my_flask_app/site.db
,我的配置设置为
"SQLALCHEMY_DATABASE_URI": "sqlite:///site.db"
。 Flask-SQLAlchemy 现在在
./instance/site.db
找。它甚至帮我创建了一个空的
site.db
文件。我删除了自动生成的文件并将正确的文件移到那个家里,一切又恢复了。

原来阅读更改日志很有帮助。谁会想到。

© www.soinside.com 2019 - 2024. All rights reserved.