在Rails中,是否有一种替代方法可以将列添加到数据库中的大表中?

时间:2013-07-08 16:33:52

标签: mysql ruby-on-rails migration

所以,我想知道是否有一种聪明的方法来处理将列添加到包含大量数据的MySQL表中。如果我要采用标准迁移路线,则需要大约6个小时。我想知道是否有更好的解决方案。

我们避免长迁移的一种方法是创建一个新的表/模型,并在ActiveRecord中设置委托类型关系。虽然这很好用,但似乎有点不对。

我应该坚持下去并进行超长距离迁移吗?

1 个答案:

答案 0 :(得分:0)

我想我会让人们知道,我决定在SoundCloud上探索由人们写的Gem,以便在保持数据库启动(未锁定)的同时进行长时间的迁移。

https://github.com/soundcloud/lhm

其他解决方案包括Percona的pt-online-schema-change:

http://www.percona.com/doc/percona-toolkit/2.1/pt-online-schema-change.html