我已经设置了一些耙子迁移。我正在修改的一个表有几十万行,数据长度为 1,962,754,048 字节(本质上是一个 2GB 的表)。这是一个InnoDB表。我正在通过 rake 向表添加几列。
不幸的是,change_table
一步永远不会"完成"。后端上运行的查询已完成,但 rake 步骤似乎从未前进。
有什么建议吗?
它可能与索引问题有关。
我会尝试将您的迁移分解为:
Drop all indexes (you can do this in mysql if you want, might be easier).
Add the new columns
Add all required indexes back (If you did this in mysql, do that again, if you dropped the indexes through migrations, add them back thru migrations).
它可能会有所帮助和/或可能有助于查明问题所在。