A Symfony bundle to manage fixtures with nelmio/alice and fzaninotto/Faker.
The database support is done in FidryAliceDataFixtures. Check this project to know which database/ORM is supported.
Warning: this doc is behind updated for HautelookAliceBundle 2.0. If you want to check the documentation for 1.x, head this way.
Other references:
Example of installation:
# If you are using Symfony standard edition, you can skip this step
composer require doctrine/doctrine-bundle doctrine/orm:^2.5
composer require --dev hautelook/alice-bundle:^2.0@beta \
nelmio/alice:^3.0@beta \
theofidry/alice-data-fixtures:^1.0@beta \
doctrine/data-fixtures
Explanation: HautelookAliceBundle uses FidryAliceDataFixtures for the
persistence layer. As FidryAliceDataFixtures is compatible with different databases/ORM, one cannot be installed by
default. In the example above, we are using Doctrine ORM which requires
doctrine/orm doctrine/orm-bundle doctrine/data-fixtures
.
Then, enable the bundle by updating your app/AppKernel.php
file to enable the bundle:
<?php
// app/AppKernel.php
public function registerBundles()
{
$bundles = [
new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
// ...
new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
];
if (in_array($this->getEnvironment(), ['dev', 'test'])) {
//...
$bundles[] = new Nelmio\Alice\Bridge\Symfony\NelmioAliceBundle();
$bundles[] = new Fidry\AliceDataFixtures\Bridge\Symfony\FidryAliceDataFixturesBundle();
$bundles[] = new Hautelook\AliceBundle\HautelookAliceBundle();
}
return $bundles;
}
Configure the bundle to your needs (example with default values):
# app/config/config_dev.yml
hautelook_alice:
fixtures_path: 'Resources/fixtures/orm' # Path to which to look for fixtures relative to the bundle path.
Assuming you are using Doctrine, make sure you
have the doctrine/doctrine-bundle
and
doctrine/data-fixtures
packages installed.
Then create a fixture file in app/Resources/fixtures/orm
:
# app/Resources/fixtures/orm/dummy.yml
AppBundle\Entity\Dummy:
dummy_{1..10}:
name: <name()>
related_dummy: '@related_dummy*'
# app/Resources/fixtures/orm/related_dummy.yml
AppBundle\Entity\RelatedDummy:
related_dummy_{1..10}:
name: <name()>
Then simply load your fixtures with the doctrine command php bin/console hautelook:fixtures:load
.
If you want to load the fixtures of a bundle only, do php bin/console hautelook:fixtures:load -b MyFirstBundle -b MySecondBundle
.
See more.
Next chapter: Advanced usage
- Behat extension: AliceBundleExtension
- Bundle for generating AliceBundle compatible fixtures directly from Doctrine entities: AliceGeneratorBundle
- Upgrade guide
- Changelog
This bundle was originaly developped by Baldur RENSCH and HauteLook. It is now maintained by Théo FIDRY.