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