建议在大型表上运行ALTER迁移

时间:2014-02-19 11:50:38

标签: mysql ruby-on-rails activerecord database-migration rails-migrations

我们需要将一组列添加到足够大(2 GB)的表中。仅添加1列(add_column)运行迁移需要690秒。现在添加6列将锁定表几乎1小时,这是不可取的。

有关如何优雅地完成此操作的任何建议? [从MySQL切换到Postgres或任何其他平台不是一种选择。]

1 个答案:

答案 0 :(得分:1)

SoundCloud开发了一款名为Large Hadron Migrator(LHM)的gem,它通过使用复制表简化了这些类型的迁移。

我希望它可以帮到你。