arrilot / laravel-data-anonymization
Laravel 与 arrilot/data-anonymization 的桥梁
2.0.0
2020-10-11 19:12 UTC
Requires
- php: >=5.5.9
- arrilot/data-anonymization: ~1.0
- illuminate/console: >=8.0
- illuminate/contracts: >=8.0
- illuminate/support: >=8.0
Requires (Dev)
- mockery/mockery: ~0.9
- phpunit/phpunit: ~4.0
README
Laravel 数据匿名化
- 这是一个用于将 arrilot/data-anonymization 完全集成到 Laravel 框架中的桥梁包。
安装
-
composer require arrilot/laravel-data-anonymization
-
将
"Database\\Anonymization\\": "database/anonymization/",
添加到composer.json -> autoload -> psr-4
-
php artisan anonymization:install
使用方法
该包旨在尽可能与 Laravel 内置的种子文件保持一致。
启动
php artisan anonymization:install
创建两个文件
database/anonymization/DatabaseAnonymizer.php
<?php namespace Database\Anonymization; use Arrilot\LaravelDataAnonymization\AbstractAnonymizer; class DatabaseAnonymizer extends AbstractAnonymizer { /** * Run the database anonymization. * * @return void */ public function run() { $this->call(UserTableAnonymizer::class); } }
database/anonymization/UserTableAnonymizer.php
<?php namespace Database\Anonymization; use Arrilot\DataAnonymization\Blueprint; use Arrilot\LaravelDataAnonymization\AbstractAnonymizer; use Faker\Generator as Faker; class UsersAnonymizer extends AbstractAnonymizer { /** * Run the database anonymization. * * @return void */ public function run() { // For more info about this part read here https://github.com/arrilot/data-anonymization $this->table('users', function (Blueprint $table) { $table->column('email')->replaceWith(function(Faker $faker) { return $faker->unique()->email; }); $table->column('name')->replaceWith('John Doe'); }); } }
DatabaseAnonymizer
是匿名化的入口点。它运行其他匿名化器。 UsersAnonymizer
是一个有用的内置示例。您可以修改它,并使用生成器创建其他表的匿名化器。
生成器命令
php artisan make:anonymizer AccountsAnonymizer
。类似于 make:seeder
执行匿名化
使用 php artisan db:anonymize
命令执行匿名化。它的签名与 db:seed
命令相同。