Laravelで外部キー制約をつけたテーブルのマイグレーションファイルをマイグレートする時に外部キー制約がつけられないエラーが発生。
SQLSTATE[HY000]:General error: 1215 Cannot add foreign key constraint
確認するポイント
・innoDBになているか
・数値の場合外部キーにunsigned()がついているか
$table->integer('purpose_id')->unsigned();
$table->foreign('purpose_id')
->references('id')
->on('purpose_masters')
->onDelete('cascade');
・数値でない場合、Eloquentモデルクラスに$incrementing = false;
が設定されているか
・外部キー制約をつける際に既に参照先のテーブル、カラムが作られているか
(マイグレーションを行う場合、マイグレーションファイルが作られた順番にマイグレーションが行われる。そのため、参照先のテーブルより先に外部キー制約の記述をしたマイグレーションファイルを作成してしまうと上記のようなエラーが発生してしまう)←ここでずっと引っかかってた(泣)
以上。