我想要的

仅回退:

回滚: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_directory和我的联系人表都是无意的。我不希望发生这种情况,如果我只能回滚特定的一个,这种灾难就永远不会发生。


当前回答

除此之外

php artisan migrate:rollback --step=1

我将添加一个检查表迁移:

select * from migrations;

这将显示一个有序的列表,其中包含artisan命令回滚的迁移。

其他回答

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

如果您只想回滚最后一次迁移,那么只需将批批号增加1。然后,下次运行rollback命令时,它将只回滚一次迁移,因为它是在自己的“批处理”中。

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

php artisan migrate:rollback --step=1

这将回滚最后一次迁移,不管它的批号是什么。

正如Laravel手册中所述,您可以使用——step选项回滚特定数量的迁移

php artisan migrate:rollback --step=5

如果要回滚上次迁移。

php artisan migrate:rollback

如果要回滚特定的迁移,则转到迁移表并批量设置该记录的最大值。 然后。

php artisan migrate:rollback

目前我正在laravel 5.8工作,如果没有任何其他版本的laravel请通知我。

使用命令"php artisan migrate:rollback——step=1"将迁移回退一步。

欲了解更多信息,请查看链接:https://laravel.com/docs/master/migrations#running-migrations

试试这个:

php artisan migrate:rollback --step=1

这是从Laravel 5.3 +工作