【问题标题】:Alembic cannot import appAlembic 无法导入应用程序
【发布时间】:2015-08-24 15:54:59
【问题描述】:

我的结构:

rootdir
- app
  - alembic
    - env.py
  - __init__.py
  - alembic.ini
  - models.py

我的 env.py 有:

from app.models import *
from app import db
target_metadata = db.metadata

我得到错误:

ImportError: 没有名为“app”的模块

当我跑步时:

app# alembic revision --autogenerate -m 'init'

【问题讨论】:

    标签: flask-sqlalchemy alembic


    【解决方案1】:

    您可以通过current_app 属性从Flask 获取应用程序;然后按如下方式使用:

    from flask import current_app
    config.set_main_option('sqlalchemy.url', current_app.config.get('SQLALCHEMY_DATABASE_URI'))
    target_metadata = current_app.extensions['migrate'].db.metadata
    

    我建议使用 Flask-Migrate,因为它会自动设置。

    PS:感谢那些投反对票但没有提供帮助的混蛋。

    【讨论】:

    • 很遗憾你得到了反对票。除了投票来解释原因之外,人们还应该发表评论。无论如何,这个问题是有效的并且提供了信息,所以我提出了一个问题。即使人们制造了,我想说尽量不要发誓:D 看到你很有趣
    猜你喜欢
    • 2023-03-29
    • 2016-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-22
    相关资源
    最近更新 更多