Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Migração do Laravel (errno:150 restrição de chave estrangeira está formada incorretamente)


Desde increments() cria uma coluna de inteiro não assinado, você também precisa definir a coluna de chave estrangeira como um inteiro não assinado.

Migrações padrão no Laravel 6+ usam bigIncrements() , então você precisa usar unsignedBigInteger() método:
$table->unsignedBigInteger('order_id');

https://laravel.com/docs/6.x/migrations #restrições de chave estrangeira

Para migrações padrão em versões mais antigas do Laravel, use unsignedInteger() método:
$table->unsignedInteger('order_id');

Ou:
$table->integer('order_id')->unsigned();

https://laravel.com/docs/5.5/migrations#foreign-key -restrições