mysql - 长时间运行的 Rails 迁移步骤似乎没有完成

标签 mysql rake rails-migrations

我已经设置了一些 rake 迁移。我正在修改的其中一个表有几十万行,数据长度为 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).

它可能会有所帮助和/或可能有助于查明问题所在。

关于mysql - 长时间运行的 Rails 迁移步骤似乎没有完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10489125/

相关文章:

ruby - 我不想将 "rake install"发布到 Rubygems

ruby - RVM、Merb、Rake 和 RSpec

ruby-on-rails - Rails 4 数据库迁移错误 : undefined method `to_sym' for nil:NilClass

ruby-on-rails - 我可以更改 Rails 创建迁移的方式吗

java - 如果ResultSet取值并存储在内存中,为什么关闭后无法使用ResultSet对象?

php - 找不到 docker-compose pdo-mysql 驱动程序

mysql - mysql服务器崩溃,并报告表问题

ruby-on-rails - rake 不运行单元测试

mysql - 如何在 Ruby on Rails 4 中创建比其父级具有更多属性的继承模型?

php - Symfony2 理解 Doctrine 查询加入