小编典典

在 Laravel 中回滚一个特定的迁移

all

我想要

仅回滚:

Rolled back: 2015_05_15_195423_alter_table_web_directories


我跑

php artisan migrate:rollback,我的 3 个迁移正在回滚。

Rolled back: 2015_05_15_195423_alter_table_web_directories
Rolled back: 2015_05_13_135240_create_web_directories_table
Rolled back: 2015_05_13_134411_create_contacts_table

我删除

web_directories和我的contacts桌子都无意中。我从不希望这种情况发生,如果我只能回滚那个特定的,那么这场灾难就永远不会发生。


阅读 98

收藏
2022-03-22

共1个答案

小编典典

如果您查看migrations表格,您会看到每个迁移都有一个批号。因此,当您回滚时,它会回滚上一批中的每个迁移。

如果您只想回滚最后一次迁移,则只需将批号加一即可。然后下次运行该rollback命令时,它只会回滚那一次迁移,因为它处于自己的“匹配”中。

或者,从 Laravel 5.3 开始,你可以运行:

php artisan migrate:rollback --step=1

这将回滚最后一次迁移,无论它的批号是多少。

2022-03-22