/** * @param array $databases * @throws InvalidConfigurationException */ private function createMysqlDatabases(array $databases) { foreach ($databases as $dbName => $dbConfig) { $db = new MysqlDatabase($dbName, $this->dumpDir . DIRECTORY_SEPARATOR . Database::TYPE_MYSQL . DIRECTORY_SEPARATOR . $dbName); // user if (array_key_exists('user', $dbConfig) and is_string($user = $dbConfig['user'])) { $db->setUser(trim($user)); } else { throw new InvalidConfigurationException('User configuration not found!'); } //password if (array_key_exists('password', $dbConfig) and strlen($password = (string) $dbConfig['password']) !== 0) { $db->setPassword(trim($password)); } // compression-type if (array_key_exists('compression_type', $dbConfig) and in_array($compressionType = $dbConfig['compression_type'], array(Database::COMPRESSION_TYPE_BZIP2, Database::COMPRESSION_TYPE_GZIP, Database::COMPRESSION_TYPE_NONE))) { $db->setCompressionType($compressionType); } else { $db->setCompressionType(Database::COMPRESSION_TYPE_BZIP2); } // compression-level if (array_key_exists('compression_level', $dbConfig) and in_array($compressionLevel = $dbConfig['compression_level'], array(Database::COMPRESSION_LEVEL_LOW, Database::COMPRESSION_LEVEL_MED, Database::COMPRESSION_LEVEL_HIGH))) { $db->setCompressionLevel($compressionLevel); } else { $db->setCompressionLevel(Database::COMPRESSION_LEVEL_MED); } $this->dumpConfiguration[Database::TYPE_MYSQL][] = $db; } }
public function testGetDatabaseName() { $database = new MysqlDatabase('test', $this->basePath . DIRECTORY_SEPARATOR . 'test'); $database->setUser('root'); $dumper = new MysqlDump($database); $this->assertInternalType('string', $databaseName = $dumper->getDatabaseName()); $this->assertSame('test', $databaseName); }