I need to rollback a specific table as I forgot to mention foreign key. and I dont want my data loss from all tables.
My framework is Laravel 5.4
Thanks in Advance Everyone
I need to rollback a specific table as I forgot to mention foreign key. and I dont want my data loss from all tables.
My framework is Laravel 5.4
Thanks in Advance Everyone
Migrations are meant to be applied and rolled back in a specific order. Therefore there is no "proper" way of reapplying an arbitrary migration.
In any case there are at least two options:
"Fail forward" - create a subsequent migration that creates a necessary FK and apply it. This is the only proper way if you are already in production.
If you're just in early stages of development and don't won't to bloat the migrations directory you can
I do it this way:
php artisan migrate
;For example, if you modified migration called "Settings", then you delete this table from DB and migrations table, then rerun artisan command.
Unfortunately there isn't an option to rollback a migration per table basis. You can only rollback the latest migration or last few migrations using the step
parameter.
But there is a hacky way to do it in case you really need to. You can set the batch
value in the migrations table to a higher number than the most recent migration for only the migrations you want to rollback. With this when you call php artisan migrate:rollback
, only that particular migration files with batch
value altered would rollback.