From 6f71419f2b0e8e671274ca761e636ebe0a4067b3 Mon Sep 17 00:00:00 2001
From: Robin Appelman <icewind@owncloud.com>
Date: Tue, 6 May 2014 14:04:22 +0200
Subject: [PATCH] Skip migration checks for all sql backends besides mysql,
 postgres and sqlite

---
 lib/private/db/mdb2schemamanager.php |  6 +++++-
 lib/private/db/nocheckmigrator.php   | 24 ++++++++++++++++++++++++
 lib/private/db/oraclemigrator.php    | 10 +---------
 3 files changed, 30 insertions(+), 10 deletions(-)
 create mode 100644 lib/private/db/nocheckmigrator.php

diff --git a/lib/private/db/mdb2schemamanager.php b/lib/private/db/mdb2schemamanager.php
index 1c9b6b9d00..1a19e737da 100644
--- a/lib/private/db/mdb2schemamanager.php
+++ b/lib/private/db/mdb2schemamanager.php
@@ -8,7 +8,9 @@
 
 namespace OC\DB;
 
+use Doctrine\DBAL\Platforms\MySqlPlatform;
 use Doctrine\DBAL\Platforms\OraclePlatform;
+use Doctrine\DBAL\Platforms\PostgreSqlPlatform;
 use Doctrine\DBAL\Platforms\SqlitePlatform;
 
 class MDB2SchemaManager {
@@ -62,8 +64,10 @@ class MDB2SchemaManager {
 			return new SQLiteMigrator($this->conn);
 		} else if ($platform instanceof OraclePlatform) {
 			return new OracleMigrator($this->conn);
-		} else {
+		} else if ($platform instanceof MySqlPlatform or $platform instanceof PostgreSqlPlatform) {
 			return new Migrator($this->conn);
+		} else {
+			return new NoCheckMigrator($this->conn);
 		}
 	}
 
diff --git a/lib/private/db/nocheckmigrator.php b/lib/private/db/nocheckmigrator.php
new file mode 100644
index 0000000000..cd2b47c214
--- /dev/null
+++ b/lib/private/db/nocheckmigrator.php
@@ -0,0 +1,24 @@
+<?php
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+namespace OC\DB;
+
+use Doctrine\DBAL\Schema\Schema;
+
+/**
+ * migrator for database platforms that don't support the upgrade check
+ *
+ * @package OC\DB
+ */
+class NoCheckMigrator extends Migrator {
+	/**
+	 * @param \Doctrine\DBAL\Schema\Schema $targetSchema
+	 * @throws \OC\DB\MigrationException
+	 */
+	public function checkMigrate(Schema $targetSchema) {}
+}
diff --git a/lib/private/db/oraclemigrator.php b/lib/private/db/oraclemigrator.php
index 5494bcbac3..de4348bd56 100644
--- a/lib/private/db/oraclemigrator.php
+++ b/lib/private/db/oraclemigrator.php
@@ -10,15 +10,7 @@ namespace OC\DB;
 
 use Doctrine\DBAL\Schema\Schema;
 
-class OracleMigrator extends Migrator {
-	/**
-	 * @param \Doctrine\DBAL\Schema\Schema $targetSchema
-	 * @throws \OC\DB\MigrationException
-	 *
-	 * Migration testing is skipped for oracle
-	 */
-	public function checkMigrate(Schema $targetSchema) {}
-
+class OracleMigrator extends NoCheckMigrator {
 	/**
 	 * @param Schema $targetSchema
 	 * @param \Doctrine\DBAL\Connection $connection
-- 
GitLab