Laravel 应用程序的数据清理器
1.0.1
2020-06-28 22:28 UTC
Requires
- fzaninotto/faker: ^1.7
- illuminate/database: ^5.5|^6.0
- illuminate/support: ^5.5|^6.0
Requires (Dev)
- orchestra/database: ^3.5|^4.0
- orchestra/testbench: ^3.5
- phpunit/phpunit: ^6.0|^7.0|^8.0
README
洗车 是一个用于 Laravel 应用的数据清理工具
安装
通过 composer 安装
composer require dansoppelsa/carwash
用法
1. 发布默认配置文件
php artisan vendor:publish
2. 编辑 config/carwash.php
配置文件以适应您的应用
<?php return [ 'users' => [ 'first_name' => 'firstName', 'last_name' => 'lastName', 'email' => 'safeEmail' ], 'addresses' => [ 'street' => 'streetAddress', 'city' => 'city', 'zip' => 'postcode' ], 'bios' => [ 'content' => 'sentences:2' ] ];
洗车 在内部使用 Faker 包生成替换数据。请参考 Faker 文档以获取完整的 可用格式化器列表。
更一般地,洗车 配置文件的格式为
<?php return [ '[TABLE_NAME]' => [ '[COLUMN_NAME]' => '[Faker Formatter][:argument1,argument2]' ] ];
3. 运行清理命令
php artisan carwash:scrub
其他
您可以在 洗车 配置文件中将每个字段的值传递为 Faker 格式化器,或者将字段值设置为返回新字段值的可调用对象。这个闭包将接收 Faker 的实例以及正在清理的属性的当前值。
<?php return [ 'users' => [ 'name' => function ($faker, $currentValue) { return "{$faker->firstName} {$faker->lastName}"; }, 'bio' => new BioFormatter ] ]; class BioFormatter { public function __invoke($faker) { return $faker->sentences(42); } }
可调用对象还可以替换整个表配置,从而完全控制要清理的数据以及如何清理。
<?php return [ 'users' => function ($faker, $user) { $firstName = $faker->firstName; $lastName = $faker->lastName; return [ 'first_name' => $firstName, 'last_name' => $lastName, 'email' => $firstName . "." . $lastName. "@" . $faker->safeEmailDomain, 'phone' => substr($user['phone'], 0, 3) . "-555-" . $faker->randomNumber(4) ]; }, ];