private function tearDownDatabase() { if ($this->databaseName !== '') { $schemaManager = $this->connection->getSchemaManager(); $schemaManager->dropDatabase($this->databaseName); } }
private function createDatabase() { $databaseName = $this->namePrefix . '_shared'; $schemaManager = $this->connection->getSchemaManager(); $this->lock->acquire(__FILE__); $isDatabaseCreated = in_array($databaseName, $schemaManager->listDatabases(), TRUE); if ($isDatabaseCreated) { $this->lock->release(__FILE__); $this->connection->exec("USE `{$databaseName}`"); } else { try { $schemaManager->createDatabase($databaseName); $this->connection->exec("USE `{$databaseName}`"); $this->dataLoader->loadFiles($this->connection, $this->schemaFiles); } catch (\Exception $e) { $schemaManager->dropDatabase($databaseName); throw $e; } finally { $this->lock->release(__FILE__); } } }