/**
  * Purge the Doctrine ORM database
  */
 protected function purgeDatabase()
 {
     /** @var EntityManager $em */
     $em = $this->getEntityManager();
     try {
         $connection = $em->getConnection();
         if ($connection->getDriver() instanceof \Doctrine\DBAL\Driver\PDOMySql\Driver) {
             $connection->executeUpdate("SET foreign_key_checks = 0;");
         }
         $purger = new ORMPurger();
         $purger->setPurgeMode(ORMPurger::PURGE_MODE_TRUNCATE);
         $executor = new ORMExecutor($em, $purger);
         $referenceRepository = new ProxyReferenceRepository($em);
         $executor->setReferenceRepository($referenceRepository);
         $executor->purge();
     } catch (\Exception $ex) {
         throw new RuntimeException(sprintf('Could not purge database! Have you initialized it? Run: ' . PHP_EOL . 'app/console doctrine:database:create --env=test ' . PHP_EOL . 'app/console doctrine:schema:update --force --env=test'));
     }
     if ($connection->getDriver() instanceof \Doctrine\DBAL\Driver\PDOMySql\Driver) {
         $em->getConnection()->executeUpdate("SET foreign_key_checks = 1;");
     }
 }
 /**
  * Purge the Doctrine ORM database.
  */
 protected function purgeDatabase()
 {
     if (!self::$kernel->getContainer()->has('doctrine')) {
         return;
     }
     $manager = $this->getEntityManager();
     $connection = $manager->getConnection();
     if ($connection->getDriver() instanceof Driver) {
         $connection->executeUpdate('SET foreign_key_checks = 0;');
     }
     $purger = new ORMPurger();
     $executor = new ORMExecutor($manager, $purger);
     $referenceRepository = new ProxyReferenceRepository($manager);
     $executor->setReferenceRepository($referenceRepository);
     $executor->purge();
     if ($connection->getDriver() instanceof Driver) {
         $connection->executeUpdate('SET foreign_key_checks = 1;');
     }
 }
Beispiel #3
0
 /**
  * Purge the Doctrine ORM database.
  */
 protected function purgeDatabase()
 {
     /** @var EntityManager $em */
     $em = $this->db('ORM')->getOm();
     $connection = $em->getConnection();
     if ($connection->getDriver() instanceof \Doctrine\DBAL\Driver\PDOMySql\Driver) {
         $connection->executeUpdate('SET foreign_key_checks = 0;');
     }
     $purger = new ORMPurger();
     $executor = new ORMExecutor($em, $purger);
     $referenceRepository = new ProxyReferenceRepository($em);
     $executor->setReferenceRepository($referenceRepository);
     $executor->purge();
     if ($connection->getDriver() instanceof \Doctrine\DBAL\Driver\PDOMySql\Driver) {
         $em->getConnection()->executeUpdate('SET foreign_key_checks = 1;');
     }
 }
 /**
  * Load fixtures into database
  */
 private function loadFixtures()
 {
     $em = $this->entityManager;
     $this->dispatchEvent($em, 'preTruncate');
     $purger = new ORMPurger($em);
     $purger->setPurgeMode(ORMPurger::PURGE_MODE_TRUNCATE);
     $executor = new ORMExecutor($em, $purger);
     $executor->setReferenceRepository($this->getReferenceRepository());
     if (!$this->useBackup) {
         $executor->purge();
     }
     $this->runMigrations();
     $executor->execute($this->fixtures, true);
     $this->dispatchEvent($em, 'postTruncate');
 }