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',
],
];