Rails|Cannot add foreign key constraint エラー対処
困ったシチュエーション
後でマスターテーブルを追加しようとした際、以下のエラーに遭遇。
Mysql2::Error: Cannot add foreign key constraint: ALTER TABLE `application_forms` ADD CONSTRAINT `fk_rails_386b13f566`
え、どういうこと?
原因
マスターテーブルを後から作成したため、以下の順でマイグレートが当たっていた。
しかし、1のentriesテーブルで2のマスタテーブルを参照しているため、叱られていた。
- 20160617063944_create_entries.rb
- 20160620063943_create_mst_categories.rb
解決方法
マイグレートファイルの名前を修正し、正しい順番でマイグレートが当たるように修正する。
- 20160620063943_create_mst_categories.rb
- 20160621063944_create_entries.rb