如何在Heroku上回滚数据库迁移

8

我刚刚将一些代码和数据库更改部署到Heroku,现在我想回滚它。我已经安装了releases插件,并且能够回滚代码,但无法回滚数据库。我没有备份数据库,因此无法进行恢复。我尝试过“heroku rake db:rollback”,但没有任何作用。有人知道怎么解决吗?


你的 db:rollback 在本地上能用吗? - shingara
在本地机器上回滚,然后再运行另一个 Heroku rake db:migrate 不起作用吗? - hwrd
约翰·贝农是正确的。回滚不会恢复数据,只有数据库模式被改变。 - hwrd
2个回答

17

当已部署拥有 .down 迁移的更新代码到 Heroku 后,您需要运行 heroku rake db:rollback 命令进行回滚。之后,您可以回滚 代码


1
这是缺失的步骤,因为没有迁移可以回滚,我已经回滚了代码,谢谢! - Bob

1

db:rollback

会回滚最后执行的迁移文件 - 你确定这个操作没有被执行过吗?如果你能够确定你想要回滚的迁移数量,你可以执行以下操作。
rake db:rollback STEP=3

运行您最后3个迁移中的down方法 - 当然,前提是您已经编写了down迁移以恢复在up迁移中所做的所有更改 :)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接