所以,我想知道是否有一种聪明的方法来处理将列添加到包含大量数据的MySQL表中。如果我要采用标准迁移路线,则需要大约6个小时。我想知道是否有更好的解决方案。
我们避免长迁移的一种方法是创建一个新的表/模型,并在ActiveRecord中设置委托类型关系。虽然这很好用,但似乎有点不对。
我应该坚持下去并进行超长距离迁移吗?
答案 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