103 votes

Exécution d'une migration Laravel spécifique (fichier unique)

J'ai 5 migrations dans mon projet. Je veux seulement exécuter l'une de ces migrations. Est-il possible de transmettre le nom d'un seul fichier à la commande php artisan migrate ?

11voto

pradeep kumar Points 81

Si vous voulez exécuter une migration de fichier unique dans Laravel, vous feriez ce qui suit :

php artisan migrate --path=/database/migrations/nom_du_fichier_de_migration

par exemple :

C:\xampp\htdocs\laravelv3s>php artisan migrate --path=/database/migrations/2020_02_14_102647_create_blogs_table.php

8voto

jidesakin Points 319

Vous pouvez créer un répertoire séparé pour vos migrations à partir de votre terminal comme suit :

mkdir /database/migrations/my_migrations

Ensuite, déplacez la migration spécifique que vous voulez exécuter dans ce répertoire et exécutez cette commande :

php artisan migrate --path=/database/migrations/my_migrations

J'espère que cela vous aidera !

5voto

Vous pouvez utiliser la solution ci-dessous :

  1. créez votre migration.
  2. vérifiez l'état de votre migration comme ceci : php artisan migrate:status.
  3. copiez le nom complet de la nouvelle migration et faites ceci : php artisan migrate:rollback --path:2018_07_13_070910_table_tests.
  4. et ensuite faites ceci php artisan migrate.

enfin, vous migrez une table spécifique. Bonne chance.

4voto

Colin Points 401

J'ai donné cette réponse sur un autre post, mais vous pouvez faire ceci : exécutez artisan migrate pour exécuter toutes les migrations, puis les commandes SQL suivantes pour mettre à jour la table des migrations, la rendant semblable à ce que les migrations ont été exécutées une par une :

SET @a = 0;  
UPDATE migrations SET batch = @a:=@a+1;

Cela changera la colonne batch en 1, 2, 3, 4 .. etc. Ajoutez une condition WHERE batch>=... (et mettez à jour la valeur initiale de @a) si vous voulez uniquement affecter certaines migrations.

Après cela, vous pouvez exécuter artisan migrate:rollback autant de fois que nécessaire, et il passera à travers les migrations une par une.

2voto

Jammer Points 759

Si vous souhaitez exécuter votre dernier fichier de migration, vous feriez ce qui suit :

php artisan migrate

Vous pouvez également revenir en arrière avant d'avoir ajouté la migration avec :

php artisan migrate:rollback

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X