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?
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?
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.
.php
extension in path
like php artisan migrate --path=/database/migrations/my_migrations.php
–
Equipage 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. –
Grissel --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 ! –
Edmondedmonda php artisan migrate
and it'll run that one you just removed. –
Gethsemane migrate
use migrate:refresh
, that'll work. For example, it will be php artisan migrate:refresh --path=/database/migrations/my_migrations.php
–
Tirade php artisan make:migration migration-name-here
–
Unmanned migrate:refresh
is BAD. Laravel will DROP ALL TABLES at first. –
Reactance .
immediately after --path=
i.e. php artisan migrate --path=./database/migrations/full_migration_file_name.php
–
Spontaneous Nothing to migrate
, check out your migrations
table and delete any entry about the migration you're trying to run. –
Irretrievable /
from start of path php artisan migrate --path=database/migrations/full_migration_file_name_migration.php
> Laravel 6.2 –
Stationery © 2022 - 2024 — McMap. All rights reserved.