]> source.dussan.org Git - nextcloud-server.git/commitdiff
Use function to create schema manager
authorBart Visscher <bartv@thisnet.nl>
Fri, 2 Aug 2013 14:02:33 +0000 (16:02 +0200)
committerBart Visscher <bartv@thisnet.nl>
Fri, 2 Aug 2013 14:02:33 +0000 (16:02 +0200)
lib/db.php

index b92f7820f317859655897aad39bcad972ec290c1..a14fab0c77418bfa5e6771626251f85bb8f4d255 100644 (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);
        }
 
        /**