2017-06-15 160 views
1

按照laravel文档,要回滚最新的迁移操作,可以使用rollback命令。此命令回滚迁移的最后一个“批处理”,其可以包括多个迁移文件:删除laravel中的特定迁移

php artisan migrate:rollback 

您可以通过提供步骤选项回滚命令回滚迁移的数量有限。例如,下面的命令将回滚最后五迁移:

php artisan migrate:rollback --step=5 

迁移:复位命令将回滚所有应用程序的迁移:

php artisan migrate:reset 

您可以检查here。但我需要删除特定的迁移文件。根据我的项目有30-40迁移文件。我想删除其中一个迁移文件及其模型。有没有办法做到这一点或必须手动完成。

+2

可能的[在Laravel中回滚一个特定迁移]的副本(https://stackoverflow.com/questions/30287896/rollback-one-specific-migration-in-laravel) –

+2

@GovindSamrow共享的是什么您正在寻找。但在我看来,删除迁移并不是一个好主意。或者,您应该编写另一个迁移,根据您的新要求更改您的数据库结构。我们必须记住,迁移提供了“版本控制的数据库”。尽管可能,删除仅仅是针对迁移的概念。我们必须避免这种情况,特别是在像您这样的大型项目中。 –

回答

0

如果您只是删除(删除)迁移文件并重新运行迁移(migrate:refresh),则数据库表将被重建(不包含在您删除的迁移文件中定义的表)。

+0

是的,所有现有数据都将丢失...... – sisve

+0

原始问题没有提到有关保存数据的任何信息。如果需要,那么mysqldump和import需要手动完成 – CJG