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'));
 }
Exemple #5
0
 /**
  * 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;
 }
Exemple #11
0
<?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);
 }