【问题标题】:How to undo last laravel db:seed?如何撤消最后一个 laravel db:seed?
【发布时间】:2018-12-14 16:49:55
【问题描述】:
我在 Laravel 5.4 中运行了一个 db:seed。现在我发现它不应该运行。那么在 Laravel 中是否有我们可以撤消最后一个 db:seed 并插入包含先前数据的表的方法。提前致谢
【问题讨论】:
标签:
laravel-5
laravel-5.4
laravel-seeding
【解决方案1】:
撤消种子的唯一方法是手动删除它们。使用这个 sql 命令应该会很快。只要在种子之后没有添加任何数据,您就不想丢失。
DELETE FROM {$table} ORDER BY created_at DESC LIMIT {$number_data_seeds}
【解决方案2】:
数据库:播种不是迁移,不能回滚最后一个播种。
您可以回滚所有迁移并重新运行所有迁移并运行种子,但您需要了解,在回滚迁移时,您会丢失所有数据。
php artisan migrate: refresh --seed
或者,您可以查看database/seeds 文件夹并了解您需要进行哪些更改才能回滚并手动对数据库进行更改。
请参阅文档https://laravel.com/docs/5.4/seeding
你觉得有用吗?