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
}
/** 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
* 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);
}
/**
* 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;
* @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);
}
/**
* @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);
}
/**
* @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);
}
/**