设定数据库种子后laravel种子回滚

42fyovps  于 2022-12-14  发布在  其他
关注(0)|答案(6)|浏览(159)

我已经使用php artisan db::seed设定了DB的种子。是否有办法 * 回滚 * 我在DB中设定的种子?
我似乎找不到任何类似php artisan db::seed rollback的命令。

kd3sttzy

kd3sttzy1#

对Laravel使用“撤消种子”。
安装UndoSeeder时,以下Artisan命令可用:

db:seed-undo    Undo seeds in the seeds directory.
db:seed-refresh Undo seeds run seeds again.

更多Undo-Seeder

lvjbypge

lvjbypge2#

您也可以使用migrate:refresh命令设定数据库的种子,此命令也会倒回并重新执行所有的移转。此命令对于完全重建数据库非常有用:
php artisan migrate:refresh --seed
跑步播种机

7y4bm7vi

7y4bm7vi3#

如果你想清除某个表,那么只需TRUNCATE该表,并再次播种:

php artisan db:seed --class=UsersTableSeeder

如此简单的任务不需要额外的软件包。

ig9co6j1

ig9co6j14#

最简单的方法是进入您的
数据库/播种器
文件夹并手动删除要删除的文件,然后运行php artisan migrate:fresh

iq0todco

iq0todco5#

使用任何您正在使用的平台(phpMyAdmin / mySql-Workbench / a DB-editor插件等)打开数据库表,并手动删除种子内容。

khbbv19g

khbbv19g6#

我在寻找其他的东西,就像我已经运行了php artisan db:seed,之后我想在UserSeeder中更改一些东西,比如更改电子邮件地址。
因此,如果您想要更改Seeder类中的某些内容,并且已经运行了db:seed命令。
然后,首先,您必须在任何其他代码之前添加truncate函数,例如,如果您有UserSeeder类,则在播种所有User模型之前,在run函数中添加以下代码:

User::truncate();

然后您所要做的就是***重新运行***命令。

php artisan db:seed

它将根据您的更改重新播种所有类,并删除数据库中已经播种的Users。您可以对任何模型使用此方法来截断表并重新插入记录。

相关问题