Use function to create schema manager

This commit is contained in:
Bart Visscher 2013-08-02 16:02:33 +02:00
parent 258e54182a
commit 5ffb8fac24
1 changed files with 35 additions and 20 deletions

View File

@ -194,6 +194,27 @@ class OC_DB {
return true;
}
/**
* get the database connection object
*
* @return \Doctrine\DBAL\Connection
*/
private static function getConnection()
{
self::connect();
return self::$connection;
}
/**
* get MDB2 schema manager
*
* @return \OC\DB\MDB2SchemaManager
*/
private static function getMDB2SchemaManager()
{
return new \OC\DB\MDB2SchemaManager(self::getConnection());
}
/**
* @brief Prepare a SQL query
* @param string $query Query string
@ -388,7 +409,7 @@ class OC_DB {
}
/** else {
* @brief saves database scheme to xml file
* @brief saves database schema to xml file
* @param string $file name of file
* @param int $mode
* @return bool
@ -396,9 +417,8 @@ class OC_DB {
* TODO: write more documentation
*/
public static function getDbStructure( $file, $mode=MDB2_SCHEMA_DUMP_STRUCTURE) {
self::connectDoctrine();
$schema = new \OC\DB\MDB2SchemaManager(self::$connection);
return $schema->getDbStructure($file);
$schemaManager = self::getMDB2SchemaManager();
return $schemaManager->getDbStructure($file);
}
/**
@ -409,23 +429,21 @@ class OC_DB {
* TODO: write more documentation
*/
public static function createDbFromStructure( $file ) {
self::connectDoctrine();
$schema = new \OC\DB\MDB2SchemaManager(self::$connection);
$result = $schema->createDbFromStructure($file);
$schemaManager = self::getMDB2SchemaManager();
$result = $schemaManager->createDbFromStructure($file);
return $result;
}
/**
* @brief update the database scheme
* @brief update the database schema
* @param string $file file to read structure from
* @throws Exception
* @return bool
*/
public static function updateDbFromStructure($file) {
self::connectDoctrine();
$schema = new \OC\DB\MDB2SchemaManager(self::$connection);
$schemaManager = self::getMDB2SchemaManager();
try {
$result = $schema->updateDbFromStructure($file);
$result = $schemaManager->updateDbFromStructure($file);
} catch (Exception $e) {
OC_Log::write('core', 'Failed to update database structure ('.$e.')', OC_Log::FATAL);
throw $e;
@ -604,9 +622,8 @@ class OC_DB {
* @param string $tableName the table to drop
*/
public static function dropTable($tableName) {
self::connectDoctrine();
$schema = new \OC\DB\MDB2SchemaManager(self::$connection);
$schema->dropTable($tableName);
$schemaManager = self::getMDB2SchemaManager();
$schemaManager->dropTable($tableName);
}
/**
@ -614,9 +631,8 @@ class OC_DB {
* @param string $file the xml file describing the tables
*/
public static function removeDBStructure($file) {
self::connectDoctrine();
$schema = new \OC\DB\MDB2SchemaManager(self::$connection);
$schema->removeDBStructure($file);
$schemaManager = self::getMDB2SchemaManager();
$schemaManager->removeDBStructure($file);
}
/**
@ -624,9 +640,8 @@ class OC_DB {
* @param $file string path to the MDB2 xml db export file
*/
public static function replaceDB( $file ) {
self::connectDoctrine();
$schema = new \OC\DB\MDB2SchemaManager(self::$connection);
$schema->replaceDB($file);
$schemaManager = self::getMDB2SchemaManager();
$schemaManager->replaceDB($file);
}
/**