dbt/command-seeder

Laravel 的基于命令的种子工具

1.0.0 2023-05-01 15:09 UTC

This package is auto-updated.

Last update: 2024-08-30 02:00:33 UTC


README

一个 Artisan 控制台命令允许使用参数调用种子文件。

安装

composer require --dev dbt/command-seeder

配置

发布配置文件

php artisan vendor:publish --provider="Dbt\CommandSeeder\CommandSeederServiceProvider" --tag="config"

然后,将 seeders 键填充为如下映射

'seeders' => [
    'my-seeder' => MySeeder::class,
];

种子文件

种子文件必须扩展 CommandSeederAbstract 类。每个种子文件必须提供一组参数

public function argumentNames(): ArgumentNames
{
    return new ArgumentNames('firstArg', 'secondArg', 'etc');
}

这些参数名称将与提供的 CLI 参数一一对应,并将传递到 run 方法中。如果必需的参数数量与提供的参数数量不匹配,将抛出异常。

此外,命令的 OutputStyle 会被传递到种子文件的构造函数中,这样你就可以从种子文件中输出到控制台。

public function run(Arguments $arguments, int $quantity): void
{
    $firstArg = $arguments->get('firstArg');
    $allArgs = $arguments->all();
    
    // Create some models...
    
    $this->output->info('Write some output...');
}

用法

php artisan seed:command {seederName} {quantity} {...arguments}