我将很快对生产应用程序进行更改,并且我想知道如何回滚对数据库和代码的所有更改。我认为使用pgbackups并且如果需要heroku db:push和pull将会回滚数据库,但代码呢?有没有办法使用git这可以完成,或者只是复制整个文件夹并将其复制回来,如果有错误并再次上传所有内容? 感谢。
答案 0 :(得分:1)
要管理您的代码,请使用git tags。
如果需要回滚代码,则可以在推送到heroku期间定位旧标记。
您可以运行git log
查看提交历史记录。查找在您上次投入生产之前提交的提交。找到该提交的哈希(与日志中的git消息位于同一行)并标记
git tag -a v0.1 THEHASH
现在标记您的HEAD
git tag -a v0.2
现在推送到heroku
git push -f heroku v0.2^{}:master
如果情况变坏,请回滚到v.0.1
git push -f heroku v0.1^{}:master
答案 1 :(得分:0)
你可以做纯git工作流,但是heroku确实支持发布。
heroku releases
会列出您的所有版本。 heroku releases:rollback v1
将创建一个新版本,其中包含v1版本中的slug。
这个和基于git的回滚都不会对您的数据进行任何更改,因此如果有数据迁移运行,它们也必须手动回滚。