/** * 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;'); } }
/** * 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'); }