Migrate Faker
Security covered
This modules allows to use the Faker package to create fake data when running migrations.
You can either use the default faker instance, or create a custom service to instantiate a custom faker instance.
Mode of use: Simple approach
In this example, the Faker::text will be called to generate a fake English based text.
process:
field_text/value:
- plugin: faker
generator: text
process:
field_number:
- plugin: faker
generator: randomDigit
process:
field_number:
- plugin: faker
generator: numberBetween # Use args to specify argument to the generator.
args:
- 20
- 30
Some generators produce an array of values, you can join them using the contact plugin.
process:
field_text/value:
- plugin: faker
generator: paragraphs
- plugin: concat
delimiter: "\n\n"
Mode of use: Custom service
process:
field_text/value:
- plugin: faker
generator: text
#This service will be in charge or creating the faker instance
faker_factory_service: mymodule.faker_factory_service
# The locale to use when creating the faker instance
faker_locale: _locale
<?php
namespace Drupal\mymodule;
use Drupal\migrate_faker\FakerFactoryServiceInterface;
use Faker\Factory;
/**
* A Faker Factory service to create English or Arabic strings.
*/
class FakerFactoryService implements FakerFactoryServiceInterface {
/**
* {@inheritdoc}
*/
public function create(string $locale) {
$faker = Factory::create($locale);
if ($locale === 'ar_SA') {
// TextProviderEn is a custom class that extends use Faker\Provider\ar_SA\Text
// to define custom Arabic content;
$faker->addProvider(new TextProviderAr($faker));
return $faker;
}
// TextProviderEn is a custom class that extends use Faker\Provider\en_US\Text
// to define custom English content;
$faker->addProvider(new TextProviderEn($faker));
return $faker;
}
}
Depends on
Dependencies of the latest stable release
No dependencies recorded for this project.
Required by
Tracked projects that depend on this one
No tracked projects depend on this one yet.
Activity
Releases
| Version | Type | Core | Release date | |
|---|---|---|---|---|
| 1.0.0 | Stable | Feb 24, 2023 |