/** @internal */ private function setupDatabase(ConnectionMock $db, $container) { $this->__testbench_databaseName = 'db_tests_' . getmypid(); $this->dropDatabase($db); $this->createDatabase($db); if (isset($container->parameters['testbench']['sqls'])) { foreach ($container->parameters['testbench']['sqls'] as $file) { \Kdyby\Doctrine\Helpers::loadFromFile($db, $file); } } register_shutdown_function(function () use($db) { $this->dropDatabase($db); }); }
public static function setupDoctrineDatabase(Nette\DI\Container $sl, $sqls = array(), $prefix = 'kdyby', &$id = NULL) { $db = $sl->getByType('Kdyby\\Doctrine\\Connection'); // default connection /** @var \Kdyby\Doctrine\Connection $db */ $testDbName = $prefix . '_test_' . ($id = $id ?: getmypid()); $db->exec("DROP DATABASE IF EXISTS `{$testDbName}`"); $db->exec("CREATE DATABASE `{$testDbName}`"); $db->exec("USE `{$testDbName}`"); foreach ($sqls as $file) { Kdyby\Doctrine\Helpers::loadFromFile($db, $file); } // drop on shutdown register_shutdown_function(function () use($db, $testDbName) { $db->exec("DROP DATABASE IF EXISTS `{$testDbName}`"); }); return $testDbName; }
/** * @param Connection $connection * @param string[] $files */ public function loadFiles(Connection $connection, array $files) { foreach ($files as $file) { Helpers::loadFromFile($connection, $file); } }