Laravel bridge for arrilot/data-anonymization
arrilot/laravel-data-anonymization is a Laravel package for laravel bridge for arrilot/data-anonymization.
It currently has 38 GitHub stars and 581.339 downloads on Packagist (latest version 2.0.0).
Install it with composer require arrilot/laravel-data-anonymization.
Discover more Laravel packages by arrilot
or browse all Laravel packages to compare alternatives.
Last updated
composer require arrilot/laravel-data-anonymization
Add "Database\\Anonymization\\": "database/anonymization/", to composer.json -> autoload -> psr-4
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
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 is an entry point into anonymization. It runs other anonymizers.
UsersAnonymizer is a useful built-in example. You can modify it and create other anonymizers for other tables using generator.
php artisan make:anonymizer AccountsAnonymizer. Similar to make:seeder
Anonymization is performed using php artisan db:anonymize command.
Its signature is identical with db:seed command.