13

我在这里阅读(和观看)有关 Flask-Migrate 的信息: https ://realpython.com/blog/python/flask-by-example-part-2-postgres-sqlalchemy-and-alembic/ 和这里https://www .youtube.com/watch?v=YJibNSI-iaE#t=21

并按照本教程执行所有操作:

  • 我启动了一个本地 postgres 服务器(使用 Postgres.App,它在 postgresql://localhost:5432 启动服务器)
  • 根据上述教程更新配置
  • 更新了 app.py,创建了 models.py 等。

安装 Flask-Migrate 并运行后

python manage.py db init
python manage.py db migrate

它应该检测在models.py 中声明的所有表。

就我而言,它什么也没检测到。而且,根据对教程的评论,这不仅仅是我的情况。那么,我该如何进行这项工作呢?

4

3 回答 3

25

确保您的模型是由您的应用程序导入的。在大多数情况下,您views.py应该这样做。但是你也可以直接从你的app.py.

于 2014-10-25T20:04:17.497 回答
2

确保在整个应用程序中以相同的方式导入模型。

例如,我在我的__init__.py:

from .models import *

我的以下内容manage.py

from databases import models

因为它们有不同的命名空间,flask_manager 认为有重复的表。(注意,我在下面的github issue/thread中找到了这个解决方案。)

修复,一切都会好起来的。

于 2020-10-09T01:31:05.063 回答
0

如果 Flask 无法检测到您的模型,请将其添加到迁移文件夹中的 env.py 中: from models import *

于 2022-02-13T18:36:58.970 回答