summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorVincent Petry <pvince81@owncloud.com>2014-06-04 18:15:58 +0200
committerVincent Petry <pvince81@owncloud.com>2014-06-04 18:17:46 +0200
commitd4ffafe4674dbda984c78ea9f7db894156e2a764 (patch)
tree80206d4c25c38092219ca74b4170893ade376e3f /lib
parent5b97369b00afbdf55eed145be9ac981dca06d2a9 (diff)
downloadnextcloud-server-d4ffafe4674dbda984c78ea9f7db894156e2a764.tar.gz
nextcloud-server-d4ffafe4674dbda984c78ea9f7db894156e2a764.zip
Removed simulate db update flag and split into separate methods
Diffstat (limited to 'lib')
-rw-r--r--lib/private/db.php29
-rw-r--r--lib/private/db/mdb2schemamanager.php37
-rw-r--r--lib/private/updater.php4
3 files changed, 47 insertions, 23 deletions
diff --git a/lib/private/db.php b/lib/private/db.php
index f6854e3e162..82affe293ed 100644
--- a/lib/private/db.php
+++ b/lib/private/db.php
@@ -307,21 +307,32 @@ class OC_DB {
/**
* update the database schema
* @param string $file file to read structure from
- * @param bool $simulate whether to simulate the upgrade on separate tables
* @throws Exception
* @return string|boolean
*/
- public static function updateDbFromStructure($file, $simulate = false) {
+ public static function updateDbFromStructure($file) {
$schemaManager = self::getMDB2SchemaManager();
try {
- $result = $schemaManager->updateDbFromStructure($file, false, $simulate);
+ $result = $schemaManager->updateDbFromStructure($file);
} catch (Exception $e) {
- if ($simulate) {
- OC_Log::write('core', 'Database structure update simulation failed ('.$e.')', OC_Log::FATAL);
- }
- else {
- OC_Log::write('core', 'Failed to update database structure ('.$e.')', OC_Log::FATAL);
- }
+ OC_Log::write('core', 'Failed to update database structure ('.$e.')', OC_Log::FATAL);
+ throw $e;
+ }
+ return $result;
+ }
+
+ /**
+ * simulate the database schema update
+ * @param string $file file to read structure from
+ * @throws Exception
+ * @return string|boolean
+ */
+ public static function simulateUpdateDbFromStructure($file) {
+ $schemaManager = self::getMDB2SchemaManager();
+ try {
+ $result = $schemaManager->simulateUpdateDbFromStructure($file);
+ } catch (Exception $e) {
+ OC_Log::write('core', 'Simulated database structure update failed ('.$e.')', OC_Log::FATAL);
throw $e;
}
return $result;
diff --git a/lib/private/db/mdb2schemamanager.php b/lib/private/db/mdb2schemamanager.php
index 397aaf3608a..734ba18d1ac 100644
--- a/lib/private/db/mdb2schemamanager.php
+++ b/lib/private/db/mdb2schemamanager.php
@@ -74,33 +74,46 @@ class MDB2SchemaManager {
}
/**
+ * Reads database schema from file
+ *
+ * @param string $file file to read from
+ */
+ private function readSchemaFromFile($file) {
+ $platform = $this->conn->getDatabasePlatform();
+ $schemaReader = new MDB2SchemaReader(\OC_Config::getObject(), $platform);
+ return $schemaReader->loadSchemaFromFile($file);
+ }
+
+ /**
* update the database scheme
* @param string $file file to read structure from
* @param bool $generateSql only return the sql needed for the upgrade
- * @param bool $simulate whether to simulate on separate tables instead of the real onces
* @return string|boolean
*/
- public function updateDbFromStructure($file, $generateSql = false, $simulate = false) {
-
- $platform = $this->conn->getDatabasePlatform();
- $schemaReader = new MDB2SchemaReader(\OC_Config::getObject(), $platform);
- $toSchema = $schemaReader->loadSchemaFromFile($file);
+ public function updateDbFromStructure($file, $generateSql = false) {
+ $toSchema = $this->readSchemaFromFile($file);
$migrator = $this->getMigrator();
if ($generateSql) {
return $migrator->generateChangeScript($toSchema);
} else {
- if ($simulate) {
- $migrator->checkMigrate($toSchema);
- }
- else {
- $migrator->migrate($toSchema);
- }
+ $migrator->migrate($toSchema);
return true;
}
}
/**
+ * update the database scheme
+ * @param string $file file to read structure from
+ * @return string|boolean
+ */
+ public function simulateUpdateDbFromStructure($file) {
+ $toSchema = $this->readSchemaFromFile($file);
+ $migrator = $this->getMigrator()->checkMigrate($toSchema);
+ return true;
+ }
+
+ /**
* @param \Doctrine\DBAL\Schema\Schema $schema
* @return string
*/
diff --git a/lib/private/updater.php b/lib/private/updater.php
index 1c363123e10..106970c4121 100644
--- a/lib/private/updater.php
+++ b/lib/private/updater.php
@@ -130,7 +130,7 @@ class Updater extends BasicEmitter {
// simulate DB upgrade
try {
// simulate core DB upgrade
- \OC_DB::updateDbFromStructure(\OC::$SERVERROOT . '/db_structure.xml', true);
+ \OC_DB::simulateUpdateDbFromStructure(\OC::$SERVERROOT . '/db_structure.xml');
// simulate apps DB upgrade
$version = \OC_Util::getVersion();
@@ -139,7 +139,7 @@ class Updater extends BasicEmitter {
$info = \OC_App::getAppInfo($appId);
if (\OC_App::isAppCompatible($version, $info) && \OC_App::shouldUpgrade($appId)) {
if (file_exists(\OC_App::getAppPath($appId) . '/appinfo/database.xml')) {
- \OC_DB::updateDbFromStructure(\OC_App::getAppPath($appId) . '/appinfo/database.xml', true);
+ \OC_DB::simulateUpdateDbFromStructure(\OC_App::getAppPath($appId) . '/appinfo/database.xml');
}
}
}