【问题标题】:Flask-Migrate script not doing applying changes to Postgres databaseFlask-Migrate 脚本未对 Postgres 数据库应用更改
【发布时间】:2019-11-05 20:26:44
【问题描述】:

我最近对我的 Flask 项目中的模型进行了一些更改。我试图将这些更改应用到我的 Postgres DB,但脚本似乎没有任何效果。当我运行升级它说

INFO  [alembic.runtime.migration] Context impl SQLiteImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
INFO  [alembic.runtime.migration] Running upgrade  -> ba60ca569e9f, empty message

但数据库中没有任何变化。我删除了数据库并重新创建了它,但仍然没有任何反应。出了什么问题?

【问题讨论】:

    标签: postgresql docker flask flask-migrate


    【解决方案1】:

    Context impl SQLiteImpl. 是一个强烈的提示。我的 DB URI 由 SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URI') or 'sqlite:///' 确定。当我在我的 Docker-compose 环境中运行我的项目时,它可以工作,因为 DATABASE_URI 在 Dockerfile 中设置正确。当我在本地环境中运行它时,它不起作用。我本可以在我的服务器容器上运行它,它应该可以工作。

    我通过将我的 DATABASE_URI 正确设置为 export DATABASE_URI=postgres://{USERNAME}:{PASSWORD}@127.0.0.1:5432/debateit 来解决此问题。这让我的本地环境连接到 Postgres DB 而不是本地 SQLite。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-08-15
      • 2020-09-26
      • 1970-01-01
      • 2018-09-15
      • 1970-01-01
      • 2021-12-26
      • 2021-09-27
      相关资源
      最近更新 更多