Mysql
 sql >> Base de données >  >> RDS >> Mysql

Migration Laravel (errno :150 La contrainte de clé étrangère n'est pas correctement formée)

Depuis increments() crée une colonne d'entiers non signés, vous devez également définir la colonne de clé étrangère comme un entier non signé.

Les migrations par défaut dans Laravel 6+ utilisent bigIncrements() , vous devez donc utiliser unsignedBigInteger() méthode :

$table->unsignedBigInteger('order_id');

https://laravel.com/docs/6.x/migrations #foreign-key-constraints

Pour les migrations par défaut dans les anciennes versions de Laravel, utilisez unsignedInteger() méthode :

$table->unsignedInteger('order_id');

Ou :

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

https://laravel.com/docs/5.5/migrations#foreign-key -contraintes