コード例 #1
0
 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'));
 }
コード例 #2
0
 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)
 {
     $dmName = $input->getOption('dm');
     $dmName = $dmName ? $dmName : 'default';
     $dmServiceName = sprintf('doctrine.odm.mongodb.%s_document_manager', $dmName);
     $dm = $this->container->get($dmServiceName);
     $dirOrFile = $input->getOption('fixtures');
     if ($dirOrFile) {
         $paths = is_array($dirOrFile) ? $dirOrFile : array($dirOrFile);
     } else {
         $paths = array();
         foreach ($this->container->get('kernel')->getBundles() as $bundle) {
             $paths[] = $bundle->getPath() . '/DataFixtures/MongoDB';
         }
     }
     $paths = array_filter($paths, 'is_dir');
     $loader = new \Doctrine\Common\DataFixtures\Loader();
     foreach ($paths as $path) {
         $loader->loadFromDirectory($path);
     }
     $fixtures = $loader->getFixtures();
     $purger = new \Doctrine\Common\DataFixtures\Purger\MongoDBPurger($dm);
     $executor = new \Doctrine\Common\DataFixtures\Executor\MongoDBExecutor($dm, $purger);
     $executor->setLogger(function ($message) use($output) {
         $output->writeln(sprintf('  <comment>></comment> <info>%s</info>', $message));
     });
     $executor->execute($fixtures, $input->getOption('append'));
 }
コード例 #4
0
ファイル: FixtureLoader.php プロジェクト: adrwtr/tqc
 /**
  * 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());
 }
コード例 #5
0
 /**
  * @param string $fixturesDirectory
  * @throws \InvalidArgumentException
  */
 protected function loadFixtures($fixturesDirectory)
 {
     $loader = new \Doctrine\Common\DataFixtures\Loader();
     $loader->loadFromDirectory($fixturesDirectory);
     $purger = new \Doctrine\Common\DataFixtures\Purger\ORMPurger($this->entityManager);
     $executor = new \Doctrine\Common\DataFixtures\Executor\ORMExecutor($this->entityManager, $purger);
     $executor->execute($loader->getFixtures());
 }
コード例 #6
0
 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());
 }
コード例 #7
0
 /**
  * @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);
 }