Rails 4 - rake db:用Heroku在网站上迁移
问题描述:
简单的问题,但我似乎无法找到答案。Rails 4 - rake db:用Heroku在网站上迁移
在一天中有活动用户的实时生产站点上,迁移数据库而不进入维护模式的最佳方式是什么?
在我的情况下,我已经添加了几列到我的数据库,并希望迁移的变化。通常,我只需运行heroku maintenance:on
,然后迁移我的更改,然后关闭维护 - 显然这将避免推送和迁移之间的任何异常/错误。现在我一直有活跃的用户,我觉得必须有一种方法可以无缝地做到这一点 - 这不会踢任何人,并抛出维护屏幕。
希望有任何帮助。请链接任何文档,如果这是在某个地方讨论 - 严重无法找到任何东西。
答
零停机数据库迁移策略取决于多种因素:
- 你想添加,删除或重命名列?你需要改变列类型还是想添加索引?
- 表格有多大,迁移需要多长时间?
- 该表大量使用或可以禁用此模型。
- 你使用什么数据库引擎?有些数据库甚至会对整个表进行微小的更改。
- 数据库用户具有什么级别的访问权限?有些工具(如Soundcloud's lhm需要更多的权利比平常Rails应用程序。
你会发现一些例子,如何在这个readme添加或删除列。
我想你想要的是这样的东西:http://stackoverflow.com/questions/15500530/blue-green-deployment-on-heroku-or-another-cloud-platform-as-a-服务 – Albin