【发布时间】: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