ChatGPT解决这个技术问题 Extra ChatGPT

How can I run specific migration in laravel [duplicate]

This question already has answers here: Running one specific Laravel migration (single file) (20 answers) Closed 4 years ago.

I create on address table migration but one migration is already in the database it gives following error :

Base table or view already exists: 1050 Table 'notification' already exists

So, Can I run specific migration? How can I run in Laravel?

In your case, I would drop the schema/database and create it again.
Could a mod please remove the dupe warning? A Laravel 4.x answer is far too outdated to consider this question answered. @community
Exactly - I wanted to post an answer, but it is Laravel 5 specific, while the "duplicate" question explicitly states Laravel 4.
Commenting for better help to the new comers: Visit this tutorial for better understanding: scratchcode.io/laravel-run-specific-migration

l
lewis4u

TLDR;

"By the book":

If there are already migrated tables and there is some data stored in those tables, be careful with php artisan migrate:refresh. You will lose all your data!

For this specific question OP has already run the migration and by the book if he wants to run the same migration again, then first he should rollback with php artisan migrate:rollback. This will undo the last migration/s.

Then you can run php artisan migrate and all NOT migrated migrations will be migrated.

If you created more migrations and they are not migrated yet, to run only a specific migration use this:

php artisan migrate --path=/database/migrations/full_migration_file_name_migration.php

And sometimes if there is something messed up and you get errors on migrate, saying that the table already exists you can manually delete that specific entry from migrations AND the table which causes the problem in your DB and run php artisan:migrate to recreate the table.


Add the .php extension in path like php artisan migrate --path=/database/migrations/my_migrations.php
Showed Nothing to migrate. to me. Why? Does the migration need to be already on the migrations tables? I tried with one already there too and it gave the same thing. Is this path my full path to the file or is it relative to my app's root? Edit: also tried with the full path and it says the same thing.
Specifying --path=path/to/specific_migration didn't work for me, I had to adopt the other strategy of moving the specific files into a subfolder, then run --path=path/to/subfolder, it is a big shortcoming. Watch out though: migrate:reset will ignore --path !
Shows 'Nothing to migrate'.
Instead of only migrate use migrate:refresh, that'll work. For example, it will be php artisan migrate:refresh --path=/database/migrations/my_migrations.php