dutchcodingcompany/laravel-seed-once

一个简单的包,允许运行种子器一次。

1.0.0 2021-10-15 11:48 UTC

This package is auto-updated.

Last update: 2024-09-15 19:04:22 UTC


README

Latest Version on Packagist Total Downloads

此包提供了一种简单的方法来运行种子器一次,即使多次调用。

安装

您可以通过composer安装此包

composer require dutchcodingcompany/laravel-seed-once

用法

将种子器标记为只运行一次,就像在您的种子器中使用Once特性一样简单。

<?php

namespace Database\Seeders;

use DutchCodingCompany\SeedOnce\Once;
use Illuminate\Database\Seeder;

class PermissionSeeder extends Seeder
{
    use Once;
    
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run(): void
    {
        //
    }
}

以下是一个使用权限种子器和依赖于权限种子器的用户种子器的示例。

# Seed permissions
Seeding: Database\Seeders\PermissionSeeder
Seeded:  Database\Seeders\PermissionSeeder (12.86ms)

# Seed users
# Because we want to make sure the permissions have been seeded
# call the permission seeder again in the user seeder.
Seeding: Database\Seeders\UserSeeder
Seeding: Database\Seeders\PermissionSeeder
Skipped: Database\Seeders\PermissionSeeder # Skipped
Seeded:  Database\Seeders\PermissionSeeder (0.01ms)
Seeded:  Database\Seeders\UserSeeder (12.76ms)

如果您需要知道种子器是否已经运行,可以使用提供的seeded方法。

if($this->seeded(PermissionSeeder::class)) {
    //
}

测试

composer test

鸣谢

许可

MIT许可(MIT)。有关更多信息,请参阅许可文件