【问题标题】:How to select config in `flask db migrate`如何在`flask db migrate`中选择配置
【发布时间】:2021-04-23 06:41:02
【问题描述】:

我的 .env 中有开发数据库和生产数据库连接字符串。

LOCAL_DB_STRING="local_db"
DB_STRING="production_db"
LOCAL_APP_STATE="development"

运行应用程序时,使用 config.py 加载正确的应用程序:

class Config(object):
    SQLALCHEMY_DATABASE_URI = os.environ.get("DB_STRING")

    APP_STATE = os.environ.get("APP_STATE")


class DevConfig(Config):
    SQLALCHEMY_DATABASE_URI = os.environ.get("LOCAL_DB_STRING")
    APP_STATE = os.environ.get("LOCAL_APP_STATE")

然后在__init__.pycreate_app()

application.config.from_object(configs[config_name])

我如何以类似的方式使用flask-migrate - 选择它用于其命令的数据库(开发/产品)?

感谢您的帮助!

已解决:我发现这是我的错误 - 我从 APP_STATE 变量中获取 APP_STATE,但在我的 .env 文件中有 LOCAL_APP_STATE。所以flask db 没有得到正确的环境。

【问题讨论】:

  • 运行服务器时如何设置config_name参数?对flask db 命令使用相同的方法。
  • 我会自动从 .env 获取它。使用pipenv run flask run 在本地运行。

标签: flask-migrate


【解决方案1】:

我的 .env 文件中有错误 - 使用 LOCAL_APP_STATE 而不是 APP_STATE,这使得 flask db 运行默认配置。

【讨论】:

    猜你喜欢
    • 2021-08-11
    • 2021-08-30
    • 2020-07-13
    • 2015-07-15
    • 2021-10-29
    • 1970-01-01
    • 2017-08-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多