Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我应该为未使用的表创建表删除迁移吗?_Php_Laravel_Migration - Fatal编程技术网

Php 我应该为未使用的表创建表删除迁移吗?

Php 我应该为未使用的表创建表删除迁移吗?,php,laravel,migration,Php,Laravel,Migration,一个简单的问题,我在谷歌上找不到答案 我有一个基于Laravel 5.2的项目,其中不再需要一些表:使用dropIfExists创建迁移是正确的方法,还是我应该手动删除它并删除负责创建表的迁移 一方面,迁移给了我一个回滚选项,在这里我可以重新创建表,但另一方面,创建一个表然后稍后再删除它仍然是愚蠢的。并且迁移(如果突然需要)总是可以在存储库中找到。您可以这样做,也可以通过修改迁移表中批处理列的值来进行破解 php artisan migrate:rollback命令在migrations表中查找

一个简单的问题,我在谷歌上找不到答案

我有一个基于Laravel 5.2的项目,其中不再需要一些表:使用
dropIfExists
创建迁移是正确的方法,还是我应该手动删除它并删除负责创建表的迁移


一方面,迁移给了我一个回滚选项,在这里我可以重新创建表,但另一方面,创建一个表然后稍后再删除它仍然是愚蠢的。并且迁移(如果突然需要)总是可以在存储库中找到。

您可以这样做,也可以通过修改
迁移表中
批处理
列的值来进行破解

php artisan migrate:rollback
命令在
migrations
表中查找最大的
batch
值,并删除相应的表。 例如:如果在
batch
列中有
1,1,1,2,3,4,4
,并且您运行
rollback
命令,它将删除值为
4
的所有表


因此,在您的情况下,增加不需要的表的所有
batch
值,并运行
rollback
命令。

您只需删除或删除未使用的表的迁移文件,仅在需要创建迁移文件时定义
php artisan make:model test--migration

或者,如果以后有任何需要,则使用
php artisan make:migration

为其创建迁移文件。这没有错,只是缺少一些信息。只有当这些回滚迁移在其
down()
定义中有实际的回滚操作(如
Schema::dropTable(…)
)时,此技巧才会起作用。如果没有,OP必须将回滚操作添加到现有迁移中,或者创建一个新迁移来删除未使用的表。