Package Data | |
---|---|
Maintainer Username: | Arrilot |
Maintainer Contact: | nekrasov.ilya90@gmail.com (Nekrasov Ilya) |
Package Create Date: | 2015-11-21 |
Package Last Update: | 2023-05-23 |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2024-11-11 15:05:38 |
Package Statistics | |
---|---|
Total Downloads: | 393,082 |
Monthly Downloads: | 7,061 |
Daily Downloads: | 229 |
Total Stars: | 35 |
Total Watchers: | 6 |
Total Forks: | 8 |
Total Open Issues: | 3 |
arrilot/data-anonymization
into Laravel framework.composer require arrilot/laravel-data-anonymization
Add Arrilot\LaravelDataAnonymization\ServiceProvider::class
to your config/app.php
php artisan anonymization:install
The package is designed to be as much consistent with Laravel built-in seeders as possible.
php artisan anonymization:install
creates two files:
database/anonymization/DatabaseAnonymizer.php
<?php
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
use Arrilot\DataAnonymization\Blueprint;
use Arrilot\LaravelDataAnonymization\AbstractAnonymizer;
use Faker\Generator as Faker;
class UserTableAnonymizer 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
is an entry point into anonymization. It runs other anonymizers.
UserTableAnonymizer
is a useful built-in example. You can modify it and create other anonymizers for other table using generator.
php artisan make:anonymizer ProfileTableAnonymizer
. Similar to make:seeder
Anonymization is performed using php artisan db:anonymize
command.
Its signature is identical with db:seed
command.