我之前遇到过这个问题,尽管有迁移提交并将其推送到 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”。没有一个有效。
答案 0 :(得分:0)
您可以通过在本地运行 flask db init
flask db migrate
和 flask db upgrade
但使用生产数据库的 DATABASE_URI
来解决此问题。这将假设您在执行此操作之前已删除迁移文件夹以避免冲突,然后将更新的版本推送到远程。
如果它抛出一些错误,您可能会考虑像这样在 alembic_version 上使用 drop:`DROP TABLE alembic_vesion" 并再次重做该过程。