尽管本地迁移成功,但 Flask Heroku psql 未迁移

时间:2021-05-25 03:08:17

标签: heroku psql heroku-postgres heroku-cli flask-migrate

我之前遇到过这个问题,尽管有迁移提交并将其推送到 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。

P.S:在过去的 3 小时内,我尝试重新启动 heroku 服务器和“heroku run rake db:migrate”。没有一个有效。

1 个答案:

答案 0 :(得分:0)

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

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

相关问题