【问题标题】:How to undo a seeding action? Laravel5如何撤消播种操作? Laravel5
【发布时间】:2018-09-29 14:24:06
【问题描述】:

我已经运行了这个播种机:

private function seedUsers()
{
    $users = [
        [
            'name'       => '**',
            'email'      => 'admin@**.com',
            'gender'     => '**',
            'privacy'    => '**',
            'password'    => '**',
            'country_id' => *,
            'city_id'    => *,
            'role_id'    => *,
        ],
    ];
    foreach ($users as $user) {
        factory(App\Services\Users\User::class)->create($user);
    }
    factory(App\Services\Users\User::class, 10)->create();// This line was included by mistake.
}

在我删除添加 10 个测试用户的行后,是否可以撤消此播种器并重新运行它?

我正在使用 Laravel5.5

请记住,我有这些用户的电子邮件地址,而且这不是一个测试数据库,所以我只需要删除这 10 个测试用户。

【问题讨论】:

  • 使用这个命令:php artisan migrate:refresh --seed
  • 不,这是产品。但是谢谢。
  • 不幸的是,我认为 laravel 上没有什么原生的。您必须安装像 undo-seeder 这样的软件包,但您必须先安装它以跟踪或通过删除播种器生成的所有内容来执行“手动回滚”。

标签: php mysql database laravel-5 laravel-seeding


【解决方案1】:

在 Laravel 中使用 Undo Seeder。

当您安装 UndoSeeder 时,以下工匠命令可用:

  • db:seed-undo -> 撤消种子目录中的种子。
  • db:seed-refresh -> 撤消种子再次运行种子。

【讨论】:

    猜你喜欢
    • 2012-10-03
    • 1970-01-01
    • 1970-01-01
    • 2018-08-23
    • 2015-12-07
    • 2015-05-07
    • 2017-01-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多