Smart Gamma Fixtures generator Symfony bundle
Allow speed up fixtures creation by generating fixtures classes from project's database, (*1)
Install
composer require --dev gamma/fixtures-generator
Add to AppKernel.php to dev section:, (*2)
$bundles[] = new Gamma\FixturesGeneratorBundle\GammaFixturesGeneratorBundle();
Configuration:
add to app/config.yml, (*3)
gamma_fixtures_generator:, (*4)
fixture_references_file_name: /var/fixtureReferences.txt, (*5)
Fixtures generator usage:
app/console gamma:fixtures:generate "\Gamma\Bundle\Entity\Item" - generate all entities from table
app/console gamma:fixtures:generate "\Gamma\Bundle\Entity\Item" --id="1,2,3" - generate entities with ids 1,2,3 from table
app/console gamma:fixtures:generate "\Gamma\Bundle\Entity\Item" --id="1,2,3" --force-add-reference - generate entities with ids 1,2,3 from table and add txt reference
Notes
1.Despite of the autoincrement generator is reset if you use schema recreate before fixture loading, better stick to defined ids via direct setter, (*6)
Add for each fixture class:, (*7)
$metadata = $manager->getClassMetaData('\Gamma\Bundle\Entity\Item');
$metadata->setIdGeneratorType(\Doctrine\ORM\Mapping\ClassMetadata::GENERATOR_TYPE_NONE);
- Relations ManyToMany should be created additionally manually