我有一个叫做worldcities的表,里面有这个星球上所有的城市,但是每次我迁移:fresh-seed,然后所有的表都被删除了,包括这个表,而且,因为它大约是1gb,所以要花很长时间才能把城市放回去。使用***php artisan migrate:fresh --seed***而不删除worldcities表的最佳方法是什么?我尝试了很多方法,但没有一个是有效的。我读过一些关于--ignore=worldcities的文章,但是它不适用于fresh,所以它没有带我到任何地方。
6psbrbz91#
您可以使用migrate:refresh代替migrate:fresh,migrate:refresh使用down()迁移方法。因此,在down方法注解删除表中:Schema::dropIfExists(),然后在up方法中,检查表是否已经存在:
migrate:refresh
migrate:fresh
down()
down
Schema::dropIfExists()
up
if (Schema::hasTable('table_name')) { return; }
对于播种,只需检查记录是否存在,以防止重复。或者对于较少的查询,只需在表中没有任何记录时创建。
1条答案
按热度按时间6psbrbz91#
您可以使用
migrate:refresh
代替migrate:fresh
,migrate:refresh
使用down()
迁移方法。因此,在
down
方法注解删除表中:Schema::dropIfExists()
,然后在
up
方法中,检查表是否已经存在:对于播种,只需检查记录是否存在,以防止重复。或者对于较少的查询,只需在表中没有任何记录时创建。