Laravel 刷新特定播种器

Vir*_*ice 1 laravel

我在我的中添加了几行,PermissionsTableSeeder现在希望在下次部署时刷新该播种器。我的应用程序正在生产中,所以migration:refresh --seed不是一个选项。

我已经尝试过以下操作,但它没有任何作用(你有成功通知)。

php artisan db:seed --class=PermissionsTableSeeder
Run Code Online (Sandbox Code Playgroud)

有没有办法擦除和播种特定的表?

谢谢

por*_*s Ψ 6

我通常在我的播种机中这样做:

<?php

use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;

class PermissionsTableSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        DB::table('permissions')->truncate();

        // your seed logic here
    }
}
Run Code Online (Sandbox Code Playgroud)

所以当我跑步时:

php artisan db:seed --class=PermissionsTableSeeder
Run Code Online (Sandbox Code Playgroud)

truncate()方法将在插入之前删除所有行并将自动递增 ID 重置为零。