laravel migration foreign key constraint is incorrectly formed code example
Example 1: errno: 150 foreign key constraint is incorrectly formed laravel 8
Since increments() creates an unsigned integer column, you need to define the foreign key column as unsigned integer too.
Default migrations in Laravel 6+ use bigIncrements(), so you need to use unsignedBigInteger() method:
$table->unsignedBigInteger('order_id');
https:
For default migrations in older versions of Laravel use unsignedInteger() method:
$table->unsignedInteger('order_id');
Or:
$table->integer('order_id')->unsigned();
Example 2: foreign key constraint is incorrectly formed laravel
When creating a new table in Laravel. A migration will be generated like:
$table->bigIncrements('id');
Instead of (in older Laravel versions:
$table->increments('id');