首页 > 解决方案 > 尽管本地迁移成功,Flask Heroku psql 仍未迁移

问题描述

我之前遇到过这个问题,尽管有迁移提交并将其推送到 heroku,但远程 postgres 没有升级。

我终于找到了解决方案:

Heroku run bash
flask db migrate
flask db upgrade

又名在服务器上运行迁移。然而,这种策略不再奏效。

一旦我运行它,我得到:

~ $ flask db migrate
INFO  [alembic.runtime.migration] Context impl PostgresqlImpl.
INFO  [alembic.runtime.migration] Will assume transactional DDL.
~ $ flask db upgrade
INFO  [alembic.runtime.migration] Context impl PostgresqlImpl.
INFO  [alembic.runtime.migration] Will assume transactional DDL.

尽管将本地迁移提交到heroku。

PS:在过去的 3 个小时里,我尝试重新启动 heroku 服务器和“heroku run rake db:migrate”。没有一个工作。

标签: herokupsqlheroku-postgresheroku-cliflask-migrate

解决方案


您可以通过在本地运行flask db init flask db migrate和解决此问题,但使用生产数据库的。这将假定您在执行此操作之前已删除迁移文件夹以避免冲突,然后将更新的版本推送到远程。flask db upgradeDATABASE_URI

如果它引发了一些错误,您可能会考虑像这样在 alembic_version 上使用 drop:`DROP TABLE alembic_vesion" 并再次重做该过程。


推荐阅读