【问题标题】:Can I deploy to Heroku without destroying existing database? Ruby on Rails我可以在不破坏现有数据库的情况下部署到 Heroku 吗? Ruby on Rails
【发布时间】:2015-03-01 17:26:34
【问题描述】:
我对我的应用进行了相当大的升级。我目前在 Heroku 上部署了旧版本。问题是我在使我的应用程序更加模块化的过程中添加/删除了相当多的迁移。我不想在部署更新时丢失已经在 Heroku 上的注册用户表。有人可以提供有关如何在升级应用程序时保留我的用户表的任何提示吗?我确实安装了备份插件,但我不知道如何处理该文件。
【问题讨论】:
标签:
ruby-on-rails
database
heroku
deployment
migration
【解决方案1】:
如果您对部署如此担心,我认为您可能需要宣布迁移破产。
不是很好,如果出现问题,您也不能轻易回滚。
【解决方案2】:
然后你应该更仔细地设置你的迁移,因为那是最后一次出现在 heroku 服务器上的。所以,当:
您正在添加一列,只需设置默认值
您删除列,将数据导出到(例如)YAML,并将其存储在 tmp/ 中。
您正在通过添加和删除部分列来重建部分列,在迁移过程中小心地将所需数据从旧列(准备删除)复制到新创建的列。