digital-drifter/laravel-cli-seeder

从命令行生成基于模式的测试数据。

dev-master 2018-07-02 22:46 UTC

This package is not auto-updated.

Last update: 2024-09-29 23:59:16 UTC


README

A (semi) intelligent utility to generate test data quickly.

关于

这个包背后的想法是,根据一个作为中心参考点的表来生成测试数据。通常情况下,应用程序会有一张表有效地作为关系图的根节点。例如,一个典型的多租户应用程序将定义租户、账户、客户等表,其他表则通过外键与这些表关联。

tenants 作为示例表,可能还有 userssettingsposts 表,每个表都有一个 tenant_id。通过在配置中将 Tenant 模型设置为父模型,这个包将查询所有的 tenants 并提示选择一个用于生成过程。任何遇到列名 tenant_id 的时候,都将使用所选 tenant 的主键。

此外,当检测到其他外键时,它将尝试仅使用那些分配给 tenant 的外键。

安装

composer require digital-drifter/laravel-cli-seeder

使用

php artisan cli-seeder:generate

配置

config/cli-seeder.php

<?php

use App\Models\Tenant;

return [
    /**
     * Decide on a parent model as explained above.
     * Set the primary key column name.
     * Set the column used for display purposes.
     */
    'parent' => [
        'model' => Tenant::class,
        'primary_key'  => 'id',
        'display_name' => 'name'
    ]
];