dutchcodingcompany / laravel-seed-once
一个简单的包,允许运行种子器一次。
1.0.0
2021-10-15 11:48 UTC
Requires
- php: ^7.4|^8.0
- illuminate/database: *
Requires (Dev)
- orchestra/testbench: ^6.21
- phpunit/phpunit: *
This package is auto-updated.
Last update: 2024-09-15 19:04:22 UTC
README
此包提供了一种简单的方法来运行种子器一次,即使多次调用。
安装
您可以通过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)。有关更多信息,请参阅许可文件。