Why is creating Foreign Key in Laravel 5.8 failing?
As we discussed in the comments above, a foreign key column must be the same data type as the primary key it references.
You declared your user.id
primary key as $table->bigIncrements('id')
which becomes BIGINT UNSIGNED AUTO_INCREMENT
in MySQL syntax.
You must declare the foreign key as $table->unsignedBigInteger('user_id')
which will become BIGINT UNSIGNED
in MySQL, making it compatible with being a foreign key to the user.id
column.