laravel 8迁移删除世界城市表

rsaldnfx  于 2023-01-21  发布在  其他
关注(0)|答案(1)|浏览(136)

我有一个叫做worldcities的表,里面有这个星球上所有的城市,但是每次我迁移:fresh-seed,然后所有的表都被删除了,包括这个表,而且,因为它大约是1gb,所以要花很长时间才能把城市放回去。
使用***php artisan migrate:fresh --seed***而不删除worldcities表的最佳方法是什么?我尝试了很多方法,但没有一个是有效的。
我读过一些关于--ignore=worldcities的文章,但是它不适用于fresh,所以它没有带我到任何地方。

6psbrbz9

6psbrbz91#

您可以使用migrate:refresh代替migrate:freshmigrate:refresh使用down()迁移方法。
因此,在down方法注解删除表中:Schema::dropIfExists()
然后在up方法中,检查表是否已经存在:

if (Schema::hasTable('table_name')) {
    return;
}

对于播种,只需检查记录是否存在,以防止重复。或者对于较少的查询,只需在表中没有任何记录时创建。

相关问题