cyber-duck / seeder-generator
从Laravel Telescope自动生成seeders
dev-main
2023-09-08 10:21 UTC
Requires
- php: ^7.4
- laravel/framework: ^8.0
- laravel/telescope: ^4.0
- phpmyadmin/sql-parser: ^5.4
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.0
- orchestra/testbench: 6.*
- phpunit/phpunit: ^8.5.8|^9.3.3
README
这是一个从Laravel Telescope条目生成seeders的实验性包。
你可以通过测试它、添加更多自动化测试、文档或功能来做出贡献!
安装
使用Composer将此包作为开发依赖项安装
composer require cyber-duck/seeder-generator --dev
如果你没有使用Laravel包自动发现功能,请将以下服务提供者添加到config/app.php
[ 'providers' => [ // ... \CyberDuck\Seeder\Providers\SeederGeneratorProvider::class, ] ];
使用方法
- 运行以下命令以获取最后一个Telescope条目
php artisan cyber-duck:telescope:last-entry-uuid
你会收到如下响应
最后一个条目的uuid是:937a170d-1aa2-495c-92e2-33389841bab5 (2021-05-20 15:50:20)
-
执行你想要重现的步骤(通过手动或使用Cypress、Laravel Dusk等自动与应用程序交互)
-
生成seeder
php artisan cyber-duck:seeder:generate [MySeederClassNameHere] [uuid-entry-here]
配置选项
此包将尽力在不配置任何选项的情况下运行,但你也可以
将表映射到模型
// config/seeder-generator.php [ //... 'tablesDictionary' => [ 'my_table' => 'MyModel' ], ];
将静态值映射到变量
你可以将外键的静态值映射到变量
例如,每次查询包含字段'user_id'作为字段或条件时,它将被映射到$userN
变量,其中N
将根据用户ID动态变化。
[ //... 'expectedVariables' => [ 'user_id' => 'user' ], ];
你还可以将多态关系映射到变量,该变量的变化取决于模型
[ //... 'expectedVariables' => [ 'addressable_id' => 'morph:addressable_type' ], 'morphVariables' => [ 'App\Models\User' => 'user', ], ];