环境
- Ruby3系列
- 导轨 7 系列
- MySQL
(尝试将数据库从 SQLite 更改为 MySQL 时发生错误)
错误内容
终端
rails db:reset
と実行したら↓
ActiveRecord::MismatchedForeignKey:
↑エラーが発生した
解决方案
如果你执行,ActiveRecord::MismatchedForeignKey 就不会出现,它会正常工作✅
原因
rails db:reset 是
- 删除所有表
- 根据 schema.rb 创建数据库
去做。
这就是为什么,虽然没有创建引用目的地,但是先创建了任意表的引用列,就会出现这个错误!
和,,,
rails db:migrate:reset 是
- 删除所有表
- 根据迁移文件创建数据库
这就是为什么,只要引用的表是先创建的,就没有错误!
* 如果引用列是按照迁移文件先创建的顺序,先读取引用目标表就不会出错。
在最后
我写它是因为很少有错误解决文章。
我希望这篇文章能传达给许多担心的人?
原创声明:本文系作者授权爱码网发表,未经许可,不得转载;
原文地址:https://www.likecs.com/show-308633056.html
相关文章: