Rails db:schema:load 错误:Mysql2::Error:无法删除或更新父行:外键约束失败

Posted

技术标签:

【中文标题】Rails db:schema:load 错误:Mysql2::Error:无法删除或更新父行:外键约束失败【英文标题】:Rails db:schema:load error: Mysql2::Error: Cannot delete or update a parent row: a foreign key constraint fails 【发布时间】:2022-01-09 20:00:55 【问题描述】:

所以我想为一个相当先进的 Rails 项目切换数据库 - 我可以连接到数据库等,并且 rails db:prepare 可以正常工作。然而 rails db:schema:load 导致了

mysql2::Error: Cannot delete or update a parent row: a foreign key constraint fails
The problem is, it's not telling me a lot more. It gives these lines in addition:
/../db/schema.rb:25:in `block in <main>'
/../db/schema.rb:13:in `<main>'
/../bin/rails:5:in `<top (required)>'
/../bin/spring:10:in `block in <top (required)>'
/../bin/spring:7:in `<top (required)>'

第 13 行是代码的开始(前几行中的 cmets),第 25 行是这样的:

create_table "active_storage_blobs", charset: "utf8mb4", force: :cascade do |t|

我如何追踪这里的问题?顺便说一句, --trace 选项没有帮助

【问题讨论】:

看起来这对***.com/questions/43025173/…有帮助 【参考方案1】:

供参考:问题是作为可标记的 GEM,或者更具体地说,是我放入初始化程序以启用特殊字符的行:

ActsAsTaggableOn.force_binary_collation = true

对此发表评论 - 一切正常! :)

【讨论】:

以上是关于Rails db:schema:load 错误:Mysql2::Error:无法删除或更新父行:外键约束失败的主要内容,如果未能解决你的问题,请参考以下文章

rake db:schema:load 不填充 schema_migrations 表

rake db:schema:load 与迁移

运行 rake db:schema:load 时出现“致命:角色“root”不存在”

M:Rails中的N关系错误

Rails PDFKit 命令失败

Rails:在 RSpec 测试查看编辑表单时出错