public function setUp() { static::$kernel = static::createKernel(); static::$kernel->boot(); $this->application = new Application(static::$kernel); // drop the database $command = new DropDatabaseDoctrineCommand(); $this->application->add($command); $input = new ArrayInput(array('command' => 'doctrine:database:drop', '--force' => true)); $command->run($input, new NullOutput()); // we have to close the connection after dropping the database so we don't get "No database selected" error $connection = $this->application->getKernel()->getContainer()->get('doctrine')->getConnection(); if ($connection->isConnected()) { $connection->close(); } // create the database $command = new CreateDatabaseDoctrineCommand(); $this->application->add($command); $input = new ArrayInput(array('command' => 'doctrine:database:create')); $command->run($input, new NullOutput()); // create schema $command = new CreateSchemaDoctrineCommand(); $this->application->add($command); $input = new ArrayInput(array('command' => 'doctrine:schema:create')); $command->run($input, new NullOutput()); // get the Entity Manager $this->em = static::$kernel->getContainer()->get('doctrine')->getManager(); // load fixtures $client = static::createClient(); $loader = new \Symfony\Bridge\Doctrine\DataFixtures\ContainerAwareLoader($client->getContainer()); $loader->loadFromDirectory(static::$kernel->locateResource('@ErlemJobeetBundle/DataFixtures/ORM')); $purger = new \Doctrine\Common\DataFixtures\Purger\ORMPurger($this->em); $executor = new \Doctrine\Common\DataFixtures\Executor\ORMExecutor($this->em, $purger); $executor->execute($loader->getFixtures()); }
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 execute(InputInterface $input, OutputInterface $output) { $emName = $input->getOption('em'); $emName = $emName ? $emName : 'default'; $emServiceName = sprintf('doctrine.orm.%s_entity_manager', $emName); $em = $this->container->get($emServiceName); $dirOrFile = $input->getOption('fixtures'); if ($dirOrFile) { $paths = is_array($dirOrFile) ? $dirOrFile : array($dirOrFile); } else { $paths = array(); $bundleDirs = $this->container->getKernelService()->getBundleDirs(); foreach ($this->container->getKernelService()->getBundles() as $bundle) { $tmp = dirname(str_replace('\\', '/', get_class($bundle))); $namespace = str_replace('/', '\\', dirname($tmp)); $class = basename($tmp); if (isset($bundleDirs[$namespace]) && is_dir($dir = $bundleDirs[$namespace] . '/' . $class . '/DataFixtures/ORM')) { $paths[] = $dir; } } } $loader = new \Doctrine\Common\DataFixtures\Loader(); foreach ($paths as $path) { $loader->loadFromDirectory($path); } $fixtures = $loader->getFixtures(); $purger = new \Doctrine\Common\DataFixtures\Purger\ORMPurger($em); $executor = new \Doctrine\Common\DataFixtures\Executor\ORMExecutor($em, $purger); $executor->setLogger(function ($message) use($output) { $output->writeln(sprintf(' <comment>></comment> <info>%s</info>', $message)); }); $executor->execute($fixtures, $input->getOption('append')); }
protected function execute(InputInterface $input, OutputInterface $output) { $emName = $input->getOption('em'); $emName = $emName ? $emName : 'default'; $emServiceName = sprintf('doctrine.orm.%s_entity_manager', $emName); $em = $this->container->get($emServiceName); $dirOrFile = $input->getOption('fixtures'); if ($dirOrFile) { $paths = is_array($dirOrFile) ? $dirOrFile : array($dirOrFile); } else { $paths = array(); foreach ($this->application->getKernel()->getBundles() as $bundle) { $paths[] = $bundle->getPath() . '/DataFixtures/ORM'; } } $loader = new \Doctrine\Common\DataFixtures\Loader(); foreach ($paths as $path) { if (is_dir($path)) { $loader->loadFromDirectory($path); } } $fixtures = $loader->getFixtures(); $purger = new \Doctrine\Common\DataFixtures\Purger\ORMPurger($em); $executor = new \Doctrine\Common\DataFixtures\Executor\ORMExecutor($em, $purger); $executor->setLogger(function ($message) use($output) { $output->writeln(sprintf(' <comment>></comment> <info>%s</info>', $message)); }); $executor->execute($fixtures, $input->getOption('append')); }
/** * executa as fixtures * * @return */ public static function execute() { $objLoader = new \Doctrine\Common\DataFixtures\Loader(); $objLoader->loadFromDirectory(FixtureLoader::ds_path); $objORMExecutor = new \Doctrine\Common\DataFixtures\Executor\ORMExecutor(Bootstrap::getServiceManager()->get('Doctrine\\ORM\\EntityManager'), self::getORMPurger()); $objORMExecutor->execute($objLoader->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()); }
/** * {@inheritDoc} */ public static function setUpBeforeClass() { self::bootKernel(); $container = static::$kernel->getContainer(); $em = $container->get('doctrine')->getManager(); $loader = new \Symfony\Bridge\Doctrine\DataFixtures\ContainerAwareLoader($container); $loader->loadFromDirectory(__DIR__ . '/../../DataFixtures/ORM'); $purger = new \Doctrine\Common\DataFixtures\Purger\ORMPurger($em); $executor = new \Doctrine\Common\DataFixtures\Executor\ORMExecutor($em, $purger); $executor->execute($loader->getFixtures()); }
protected function setUp() { $this->client = static::createClient(); $em = self::$kernel->getContainer()->get('doctrine')->getManager(); $root = self::$kernel->getContainer()->getParameter('kernel.root_dir'); $loader = new \Doctrine\Common\DataFixtures\Loader(); $loader->loadFromDirectory("{$root}/../src/VacancyBundle/DataFixtures/ORM"); $purger = new \Doctrine\Common\DataFixtures\Purger\ORMPurger($em); $executor = new \Doctrine\Common\DataFixtures\Executor\ORMExecutor($em, $purger); $executor->execute($loader->getFixtures()); }
private function loadFixtures($version) { $em = $this->getDoctrine()->getEntityManager(); $dir = $this->get('kernel')->getRootDir() . '/DoctrineFixtures/' . $version; if (!file_exists($dir)) { return; } $loader = new \Symfony\Bundle\DoctrineFixturesBundle\Common\DataFixtures\Loader($this->container); $loader->loadFromDirectory($dir); $fixtures = $loader->getFixtures(); $purger = new \Doctrine\Common\DataFixtures\Purger\ORMPurger($em); $executor = new \Doctrine\Common\DataFixtures\Executor\ORMExecutor($em, $purger); $executor->execute($fixtures, true); }
/** * 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());
/** * load Fixture. * * @param array $fixtures optional fixtures location if not set will load all fixtures * example: * array( * "@ExtdevelopmentJobExamBundle/DataFixtures/ORM/LoadCustomerData", * "@ExtdevelopmentJobExamBundle/DataFixtures/ORM/LoadProductData", * ) */ public function loadFixture(array $fixtures = array()) { if (empty($fixtures)) { // load fixture $command = new LoadDataFixturesDoctrineCommand(); $this->application->add($command); $input = new ArrayInput(array('command' => 'doctrine:fixtures:load --append')); $input->setInteractive(false); $command->run($input, new NullOutput()); return; } // load fixtures specified location $loader = new \Symfony\Bridge\Doctrine\DataFixtures\ContainerAwareLoader(static::$kernel->getContainer()); foreach ($fixtures as $oneFixture) { $loader->loadFromFile(static::$kernel->locateResource($oneFixture . '.php')); } $purger = new \Doctrine\Common\DataFixtures\Purger\ORMPurger($this->em); $executor = new \Doctrine\Common\DataFixtures\Executor\ORMExecutor($this->em, $purger); $executor->execute($loader->getFixtures()); }
/** * @param $folder */ public function appendFixtures($folder) { $loader = new \Doctrine\Common\DataFixtures\Loader(); $fixtures = $loader->loadFromDirectory($folder); foreach ($fixtures as $fixture) { $fixture->setContainer($this->getContainer()); } $purger = new \Doctrine\Common\DataFixtures\Purger\ORMPurger($this->getContainer()->get('doctrine.orm.entity_manager')); $executor = new \Doctrine\Common\DataFixtures\Executor\ORMExecutor($this->getContainer()->get('doctrine.orm.entity_manager'), $purger); $executor->execute($loader->getFixtures(), true); }