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

Ajouter de nouvelles colonnes à une table existante dans une migration dans Laravel

Si vous vérifiez à la trace d'erreur :

Cela signifie que la table des utilisateurs existe déjà, donc lorsque vous exécutez vos migrations, il essaie de créer une table qui est déjà créée dans votre base de données.

Remarque : N'oubliez pas de sauvegarder d'abord votre base de données

Supprimer le tableau des utilisateurs de la base de données supprime également les entrées d'utilisateurs des migrations tableau.

Ensuite, exécutez la commande migrate Artisan :php artisan migrate

Maintenant, une autre question est :Comment ajouter de nouvelles colonnes dans mon tableau existant ?

Vous devez créer une table à l'aide de cette commande :

php artisan make:migration create_users_table

La sortie que vous avez obtenue est la suivante :Migration créée :2019_04_12_070152_create_users_table

Votre structure de migration est quelque chose comme ça :

public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name');
            $table->string('email')->unique();
            $table->string('password');
            $table->rememberToken();
            $table->timestamps();
        });
    }

Vous souhaitez maintenant ajouter de nouvelles colonnes dans votre tableau des utilisateurs existants

php artisan make:migration add_phone_number_to_users_table --table=users

utilisez le Schema::table() méthode (car vous accédez à une table existante, sans en créer une nouvelle). Et vous pouvez ajouter une colonne comme celle-ci :

public function up()
{
     Schema::table('users', function (Blueprint $table) {
         $table->string('phonenumber')->after('name'); // use this for field after specific column.
     });
}

/**
 * Reverse the migrations.
 *
 * @return void
 */
public function down()
{
    Schema::table('users', function (Blueprint $table) {
        $table->dropColumn('phonenumber');
    });
}

Ensuite, vous pouvez exécuter vos migrations :php artisan migrate

Vos nouvelles colonnes(phonenumber ) sont maintenant ajoutés à votre table d'utilisateurs existante , que vous pouvez visualiser dans votre base de données.

Si vous avez encore un doute, regardez cette vidéo