public function setUp() { $client = self::createClient(); $container = $client->getKernel()->getContainer(); $em = $container->get('doctrine')->getManager(); // Purge tables $purger = new \Doctrine\Common\DataFixtures\Purger\ORMPurger($em); $executor = new \Doctrine\Common\DataFixtures\Executor\ORMExecutor($em, $purger); $executor->purge(); // Load fixtures $loader = new \Doctrine\Common\DataFixtures\Loader(); $users = new \AppBundle\DataFixtures\ORM\LoadUserData(); $users->setContainer($container); $loader->addFixture($users); $projects = new \AppBundle\DataFixtures\ORM\LoadProjectData(); $projects->setContainer($container); $loader->addFixture($projects); $issues = new \AppBundle\DataFixtures\ORM\LoadIssueData(); $issues->setContainer($container); $loader->addFixture($issues); $activity = new \AppBundle\DataFixtures\ORM\LoadActivityData(); $activity->setContainer($container); $loader->addFixture($activity); $executor->execute($loader->getFixtures()); }
protected function loadFixture($fixture) { $loader = new \Doctrine\Common\DataFixtures\Loader(); $loader->addFixture($fixture); $purger = new \Doctrine\Common\DataFixtures\Purger\ORMPurger($this->entityManager); $executor = new \Doctrine\Common\DataFixtures\Executor\ORMExecutor($this->entityManager, $purger); $executor->execute($loader->getFixtures()); }
/** * @param array $aFixtures * @throws \InvalidArgumentException * @return \BoilerAppTest\Dotrine\DoctrineUtilsTrait */ protected function addFixtures(array $aFixtures) { //Purge old fixtures if ($this->getDbCreated()) { $this->getORMPurger()->purge(); } else { $this->createDatabase(); } $oLoader = new \Doctrine\Common\DataFixtures\Loader(); foreach ($aFixtures as $oFixture) { if (is_string($oFixture)) { if (class_exists($oFixture)) { $oFixture = new $oFixture(); } elseif (file_exists($oFixture)) { require_once $oFixture; foreach (get_declared_classes() as $sClassName) { $oReflectionClass = new \ReflectionClass($sClassName); if ($oReflectionClass->getFileName() === $oFixture && !$oReflectionClass->isAbstract() && in_array('Doctrine\\Common\\DataFixtures\\FixtureInterface', class_implements($sClassName))) { $oFixture = new $sClassName(); break; } } } } if (!is_object($oFixture) || !$oFixture instanceof \Doctrine\Common\DataFixtures\FixtureInterface) { throw new \InvalidArgumentException(sprintf('Fixture is not valid : "%s"', is_scalar($oFixture) ? $oFixture : (is_object($oFixture) ? get_class($oFixture) : gettype($oFixture)))); } //Set service locator if needed if ($oFixture instanceof \Zend\ServiceManager\ServiceLocatorAwareInterface) { $oFixture->setServiceLocator($this->getServiceManager()); } $oLoader->addFixture($oFixture); } $this->getORMExecutor()->execute($oLoader->getFixtures()); return $this; }
/** * Loads an array of fixtures. * * @param string[] $fixtureClasses List of fixture class names * @param bool $append * @return $this * @throws \Exception */ public function loadFixtures(array $fixtureClasses, $append = false) { $loader = new \Doctrine\Common\DataFixtures\Loader(); foreach ($fixtureClasses as $fixtureClass) { if (!class_Exists($fixtureClass)) { throw new \Exception('Could not locate the fixture class ' . $fixtureClass . '. Ensure it is autoloadable'); } $fixture = new $fixtureClass(); $loader->addFixture($fixture); } $purger = new \Doctrine\Common\DataFixtures\Purger\ORMPurger(); $executor = new \Doctrine\Common\DataFixtures\Executor\ORMExecutor($this->getEntityManager(), $purger); $executor->setReferenceRepository($this->getFixtureReferenceRepo()); $executor->execute($loader->getFixtures(), $append); return $this; }
<?php $loader = (require __DIR__ . '/vendor/autoload.php'); \Doctrine\Common\Annotations\AnnotationRegistry::registerLoader(array($loader, 'loadClass')); $config = (require __DIR__ . '/app/config.php'); $app = new \Silex\Application($config['common']); require "public/bootstrap.php"; $loader = new \Doctrine\Common\DataFixtures\Loader(); $loader->addFixture(new \Jowy\P2bj\Fixtures\UserDataFixtures()); $purger = new \Doctrine\Common\DataFixtures\Purger\ORMPurger(); $executor = new \Doctrine\Common\DataFixtures\Executor\ORMExecutor($app['orm.em'], $purger); $executor->execute($loader->getFixtures());