コード例 #1
0
ファイル: ORMPurger.php プロジェクト: aleherse/Sylius
 private function purgeForTheFirstTime()
 {
     $this->entityManager->getConnection()->getConfiguration()->setSQLLogger($this->queryLogger);
     $this->purger->purge();
     $this->cachedQueries = $this->queryLogger->getLoggedQueries();
     $this->queryLogger->clearLoggedQueries();
 }
コード例 #2
0
ファイル: ORMPurgerSpec.php プロジェクト: TeamNovatek/Sylius
 function it_executes_cached_queries_after_the_first_purging(PurgerInterface $purger, EntityManagerInterface $entityManager, QueryLoggerInterface $queryLogger, Connection $connection, Configuration $configuration)
 {
     $entityManager->getConnection()->willReturn($connection);
     $connection->getConfiguration()->willReturn($configuration);
     $configuration->setSQLLogger($queryLogger)->shouldBeCalled();
     $purger->purge()->shouldBeCalled();
     $queryLogger->getLoggedQueries()->willReturn([['sql' => 'SQL QUERY', 'params' => [], 'types' => []]]);
     $queryLogger->clearLoggedQueries()->shouldBeCalled();
     $this->purge();
     $configuration->setSQLLogger(null)->shouldBeCalled();
     $connection->executeUpdate('SQL QUERY', [], [])->shouldBeCalled();
     $this->purge();
 }
コード例 #3
0
ファイル: HookContext.php プロジェクト: pavelnovitsky/Sylius
 /**
  * @BeforeScenario
  */
 public function purgeDatabase(BeforeScenarioScope $scope)
 {
     $entityManager = $this->getService('doctrine.orm.entity_manager');
     $entityManager->getConnection()->getConfiguration()->setSQLLogger(null);
     $isMySqlDriver = $entityManager->getConnection()->getDriver() instanceof PDOMySqlDriver;
     if ($isMySqlDriver) {
         $entityManager->getConnection()->executeUpdate("SET foreign_key_checks = 0;");
     }
     if (null === self::$ormPurger) {
         self::$ormPurger = $this->getService('sylius.purger.orm_purger');
     }
     self::$ormPurger->purge();
     if ($isMySqlDriver) {
         $entityManager->getConnection()->executeUpdate("SET foreign_key_checks = 1;");
     }
     $entityManager->clear();
 }