flask-migrate没有检测到模型

时间:2014-10-25 16:45:27

标签: python postgresql flask alembic flask-migrate

我正在阅读(并观看)有关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中声明的所有表。

在我的情况下,它什么都没检测到。而且,根据对教程的评论,这不仅仅是我的情况。 那么,我该如何做到这一点呢?

2 个答案:

答案 0 :(得分:14)

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

导入

答案 1 :(得分:0)

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

例如,我在__init__.py中使用了以下内容:

from .models import *

还有我的manage.py中的以下内容:

from databases import models

由于它们具有diff名称空间,flask_manager认为存在重复的表。 (注意,我在下面的github issue / thread中找到了此解决方案。)

修复,一切都会好起来。