首页 文章

ActiveRecord :: ConcurrentMigrationError:使用mysql2和rails 5.2

提问于
浏览
0

从4.2升级到rails 5.2后,任何迁移都会抛出:

ActiveRecord :: ConcurrentMigrationError:无法运行迁移,因为当前正在运行另一个迁移过程 .

数据库适配器是mysql2

最初我认为这是因为我在开发环境中导入的现有 生产环境 数据库中的一些陈旧数据 . 但同样的问题发生在一个干净的数据库中 .

为了克服它(因为我真的需要在其他一些问题上取得进展),我不得不在实际的rails代码中禁用咨询锁定检查 .

1 回答

  • 0

    经过几个小时的尝试来确定“锁定”发生的位置,甚至从头开始创建一个rails应用程序,结果证明罪魁祸首是database.yml文件中的“cast:false”行 . 一旦被评论出来,我的铁轨世界就恢复了和平,移民再次开始运作 .

    开发:适配器:mysql2数据库:db用户名:用户密码:passwd host:localhost #cast:false

    具有讽刺意味的是,我甚至无法回想起两年前代码中的“cast:false”是如何结束的 . 我隐约记得我把它放在那里有目的 . 尽管如此,如果没有它,所有测试都可以正常运行,并且到目前为止,实际应用程

    我希望这可以帮助那些在某些时候升级到5.2的人 .

相关问题