/** * @BeforeScenario */ public function purgeDatabase(BeforeScenarioScope $scope) { $entityManager = $this->get('doctrine.orm.entity_manager'); $purger = new ORMPurger($entityManager); $purger->purge(); $entityManager->clear(); }
/** * @EXT\Route( * "/reinstall", * name="claro_test_reinstall", * ) * * @return Response */ public function reinstallAction() { $kernel = $this->container->get('kernel'); $start = new \DateTime(); $om = $this->container->get('claroline.persistence.object_manager'); // purge database $purger = new ORMPurger($this->container->get('doctrine.orm.entity_manager')); $purger->purge(); // load required core fixtures $fixture = new LoadRequiredFixturesData(); $referenceRepo = new ReferenceRepository($om); $fixture->setReferenceRepository($referenceRepo); $fixture->setContainer($this->container); $fixture->load($om); $om->startFlushSuite(); // reset default template $defaultTemplatePath = $this->container->getParameter('kernel.root_dir') . '/../templates/default.zip'; TemplateBuilder::buildDefault($defaultTemplatePath); // install plugin fixtures $bundles = $kernel->getBundles(); $installer = $this->container->get('claroline.plugin.installer'); foreach ($bundles as $bundle) { if ($bundle instanceof PluginBundle) { $installer->install($bundle); } } $om->endFlushSuite(); $end = new \DateTime(); $diff = $start->diff($end); $duration = $diff->i > 0 ? $diff->i . 'm ' : ''; $duration .= $diff->s . 's'; return new Response('Platform reinstalled (duration: ' . $duration . ')'); }
protected function givenDatabaseIsClear() { if (0 !== count($this->items->findAll())) { $purger = new ORMPurger($this->entityManager); $purger->purge(); } }
/** * @BeforeScenario */ public function purgeDatabase() { $this->entityManager->getConnection()->getConfiguration()->setSQLLogger(null); $purger = new ORMPurger($this->entityManager); $purger->purge(); $this->entityManager->clear(); }
protected function tearDown() { $purger = new ORMPurger($this->getDoctrine()->getManager()); $purger->setPurgeMode(ORMPurger::PURGE_MODE_DELETE); $purger->purge(); parent::tearDown(); }
protected function execute(InputInterface $input, OutputInterface $output) { $em = $this->getEntityManager(); if ($input->isInteractive() && !$input->getOption('append')) { if (!$this->askConfirmation($input, $output, '<question>Careful, database will be purged. Do you want to continue y/N ?</question>', false)) { return; } } $app = $this->getApp(); $path = $app->getApplicationBase($app->getAppNamespace()) . '/DataFixture'; $loader = new DataFixturesLoader(); $loader->loadFromDirectory($path); $fixtures = $loader->getFixtures(); if (!$fixtures) { throw new InvalidArgumentException(sprintf('Could not find any fixtures to load in: %s', "\n\n- {$path}")); } foreach ($fixtures as $fixture) { if ($fixture instanceof ContainerAwareInterface) { $fixture->setContainer($this->getContainer()); } } $purger = new ORMPurger($em); if ($input->getOption('truncate-only')) { $purger->setPurgeMode(ORMPurger::PURGE_MODE_TRUNCATE); $purger->purge(); exit(0); } $purger->setPurgeMode($input->getOption('truncate') ? ORMPurger::PURGE_MODE_TRUNCATE : ORMPurger::PURGE_MODE_DELETE); $executor = new ORMExecutor($em, $purger); $executor->setLogger(function ($message) use($output) { $output->writeln(sprintf(' <comment>></comment> <info>%s</info>', $message)); }); $executor->execute($fixtures, $input->getOption('append')); }
/** * {@inheritDoc} */ public function setUp() { self::bootKernel(); $this->em = static::$kernel->getContainer()->get('doctrine')->getManager("dblog"); $purger = new ORMPurger($this->em); $purger->setPurgeMode(ORMPurger::PURGE_MODE_DELETE); $purger->purge(); }
/** * Method that allows to purge database before load the scenario. * * * @BeforeScenario */ public function purgeDatabase() { $connection = $this->getManager()->getConnection(); $connection->executeUpdate('SET foreign_key_checks = 0;'); $purger = new ORMPurger($this->getManager()); $purger->purge(); $connection->executeUpdate('SET foreign_key_checks = 1;'); }
/** * @BeforeScenario */ public function purgeDatabase(BeforeScenarioScope $scope) { $entityManager = $this->getService('doctrine.orm.entity_manager'); $entityManager->getConnection()->executeUpdate("SET foreign_key_checks = 0;"); $purger = new ORMPurger($entityManager); $purger->purge(); $entityManager->getConnection()->executeUpdate("SET foreign_key_checks = 1;"); }
/** * {@inheritDoc} */ public function setUp() { self::bootKernel(); $this->em = static::$kernel->getContainer()->get('doctrine')->getManager("dblog"); $this->rep = $this->em->getRepository("MaallsDBLogBundle:DbLog"); $purger = new ORMPurger($this->em); $purger->setPurgeMode(ORMPurger::PURGE_MODE_DELETE); $purger->purge(); }
/** * @BeforeScenario */ public function purgeDatabase() { if (null === $this->entityManager) { throw new \RuntimeException('Cannot purge database. Entity manager is not set'); } $this->entityManager->getConnection()->getConfiguration()->setSQLLogger(null); $purger = new ORMPurger($this->entityManager); $purger->purge(); $this->entityManager->clear(); }
/** * {@inheritdoc} */ public function beforeSuite(SuiteEvent $suiteEvent, array $options) { foreach ($options['managers'] as $managerName) { /** @var EntityManagerInterface $manager */ $manager = $this->managerRegistry->getManager($managerName); $purger = new ORMPurger($manager); $purger->setPurgeMode(static::$purgeModes[$options['mode']]); $purger->purge(); } }
/** * @return $this */ public function purgeDatabase() { try { $purger = new ORMPurger($this->em); $purger->purge(); } catch (\Exception $e) { $this->recreateDb(); } return $this; }
public function tearDown() { if (!$this->em) { return; } $purger = new ORMPurger($this->em); $purger->purge(); $fixtures = new Data(); $fixtures->load($this->em); }
protected function doPurgeFixtures() { $purger = new ORMPurger(); $purger->setPurgeMode(ORMPurger::PURGE_MODE_DELETE); $managers = $this->getContainer()->get('doctrine')->getManagerNames(); foreach ($managers as $name => $service) { $purger->setEntityManager($this->getEntityManager($name)); $purger->purge(); } }
public function purge() { if ($this->getPurgeMode() === self::PURGE_MODE_TRUNCATE) { // QND Hack: wenn mir jemand erklärt wies schön geht, gerne $this->em->getConnection()->executeQuery('set foreign_key_checks = 0'); parent::purge(); $this->em->getConnection()->executeQuery('set foreign_key_checks = 1'); } else { parent::purge(); } }
/** * This is a performance improvement. * https://github.com/KnpLabs/FriendlyContexts/issues/195 * * @BeforeScenario */ public function beforeScenario($event) { $this->storeTags($event); if ($this->hasTags(['reset-schema', '~not-reset-schema'])) { $em = $this->get('doctrine')->getManager(); $em->getConnection()->executeUpdate("SET FOREIGN_KEY_CHECKS=0;"); $purger = new ORMPurger($em); $purger->setPurgeMode(ORMPurger::PURGE_MODE_TRUNCATE); $purger->purge(); $em->getConnection()->executeUpdate("SET FOREIGN_KEY_CHECKS=1;"); } }
/** * @see Command */ protected function execute(InputInterface $input, OutputInterface $output) { $listenerManager = $this->container->get('doctrine_extensions.listener_manager'); $listenerManager->addAllListeners($this->container->get('doctrine.orm.entity_manager')); $purger = new ORMPurger($this->container->get('doctrine.orm.entity_manager')); $purger->purge(); $string_input = new StringInput('yrch:populate'); $application = new Application($this->application->getKernel()); $application->setAutoExit(false); $application->run($string_input, $output); $string_input = new StringInput('doctrine:data:load --append=true'); $application->run($string_input, $output); }
/** * @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;"); } $purger = new ORMPurger($entityManager); $purger->purge(); if ($isMySqlDriver) { $entityManager->getConnection()->executeUpdate("SET foreign_key_checks = 1;"); } $entityManager->clear(); }
/** * Execute test purge * * @param string|null $expression * @param array $list */ public function executeTestPurge($expression, array $list) { $em = $this->loadTestData(); $excludedRepository = $em->getRepository(self::TEST_ENTITY_EXCLUDED); $includedRepository = $em->getRepository(self::TEST_ENTITY_INCLUDED); $excluded = $excludedRepository->findAll(); $included = $includedRepository->findAll(); $this->assertGreaterThan(0, count($included)); $this->assertGreaterThan(0, count($excluded)); $connection = $em->getConnection(); $configuration = $connection->getConfiguration(); $configuration->setFilterSchemaAssetsExpression($expression); $purger = new ORMPurger($em, $list); $purger->purge(); $excluded = $excludedRepository->findAll(); $included = $includedRepository->findAll(); $this->assertEquals(0, count($included)); $this->assertGreaterThan(0, count($excluded)); }
/** * @BeforeScenario */ public function purgeDatabase(BeforeScenarioScope $scope) { $entityManager = $this->getContainer()->get('doctrine.orm.entity_manager'); $entityManager->getConnection()->getConfiguration()->setSQLLogger(null); $driver = $entityManager->getConnection()->getDriver(); $supportsForeignKeyConstraints = $driver->getDatabasePlatform()->supportsForeignKeyConstraints(); if ($supportsForeignKeyConstraints) { $entityManager->getConnection()->executeUpdate("SET foreign_key_checks = 0;"); } $purger = new ORMPurger($entityManager); $purger->purge(); if ($driver->getDatabasePlatform()->supportsIdentityColumns()) { $entityManager->getConnection()->executeUpdate("ALTER TABLE expenses AUTO_INCREMENT = 1;"); } if ($supportsForeignKeyConstraints) { $entityManager->getConnection()->executeUpdate("SET foreign_key_checks = 1;"); } $entityManager->clear(); }
/** * Remove all data from the app. */ function clear_app() { // remove all old data from the database $em = doctrine()->getManager(); $purger = new ORMPurger($em); $purger->setPurgeMode(ORMPurger::PURGE_MODE_TRUNCATE); $purger->purge(); // clear the elasticsearch database if (container()->has('fos_elastica.index_manager')) { $es_index_manager = container()->get('fos_elastica.index_manager'); $es_resetter = container()->get('fos_elastica.resetter'); foreach ($es_index_manager->getAllIndexes() as $name => $index) { $es_resetter->resetIndex($name, false, true); } } $finder = new Finder(); foreach ($finder->in(__DIR__ . "/data/")->name('*.sql') as $file) { load_sql($file); } }
/** * @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;"); } $purger = new ORMPurger($entityManager); $purger->purge(); if ($isMySqlDriver) { $entityManager->getConnection()->executeUpdate("SET foreign_key_checks = 1;"); } $entityManager->clear(); /* $process = new Process(sprintf('%s/console sylius:rbac:initialize --env=test', $this->getContainer()->getParameter('kernel.root_dir'))); $process->run(); if (!$process->isSuccessful()) { throw new \RuntimeException('Could not initialize permissions.'); } */ }
protected function purgeDatabase() { $purger = new ORMPurger($this->entityManager); $purger->purge(); $this->entityManager->clear(); }
/** * * @BeforeScenario */ public function purgeDatabase() { $entityManager = $this->kernel->getContainer()->get('doctrine.orm.entity_manager'); $purger = new ORMPurger($entityManager); $purger->purge(); }
/** * @BeforeScenario @database */ public function cleanDatabase() { $purger = new ORMPurger($this->getDoctrine()->getManager()); $purger->setPurgeMode(ORMPurger::PURGE_MODE_DELETE); $purger->purge(); }
/** * Initialize ORM database. */ protected function initializeORM() { $entityManager = $this->get('doctrine')->getManager(); $purger = new ORMPurger($entityManager); $purger->setPurgeMode(ORMPurger::PURGE_MODE_DELETE); $purger->purge(); }
private function purgeDatabase() { $purger = new ORMPurger($this->getEntityManager()); $purger->purge(); }
protected static function purge(array $options = []) { $em = static::getClient(isset($options['new_client']) ? $options['new_client'] : false)->getContainer()->get('doctrine')->getManager(); $purger = new ORMPurger($em); $purger->purge(); }
/** * Clears all the data! */ public function reloadDatabase() { $purger = new ORMPurger($this->getEntityManager()); $purger->purge(); }