2017-07-17 1 views
-1

Essayer de modifier table « role_user » pour modifier le champ « user_id » attribut « non signé » pour ajouter une contrainte de clé étrangèrevaleur d'attribut de champ de table Alter unsigned - migration Mysql Laravel

Schema::table('role_user', function (Blueprint $table) { 
      $table->integer('user_id')->unsigned()->nullable()->change(); 
      $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade'); 
     }); 

Est-il droit chemin changer la valeur d'attribut du champ?

Je reçois exception d'exécution 'Changing columns for table "role_users" requires Doctrine DBAL';

Répondre

1

Vous devez installer le package suivant:

composer require doctrine/dbal 

package DABL de doctrine vous permet de modifier les colonnes. http://docs.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/introduction.html

Consultez également la section de la colonne de modification: https://laravel.com/docs/5.3/migrations

Il est mentionné là:

Avant de modifier une colonne, assurez-vous d'ajouter la doctrine/dépendance dbal à votre fichier composer.json . La bibliothèque Doctrine DBAL est utilisée pour déterminer l'état actuel de la colonne et créer les requêtes SQL nécessaires pour apporter les ajustements spécifiés à la colonne: