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__);
         }
     }
 }