summaryrefslogtreecommitdiffstats
path: root/lib/private/DB/OracleMigrator.php
diff options
context:
space:
mode:
authorThomas Müller <DeepDiver1975@users.noreply.github.com>2016-06-29 14:54:41 +0200
committerGitHub <noreply@github.com>2016-06-29 14:54:41 +0200
commitb55ab6d22a82dbd5c1f6f30b23471dfb0a6a48ab (patch)
tree21451703ce0616984ebe66f22b7109ccb394b928 /lib/private/DB/OracleMigrator.php
parentc8fbe3980116bd94bd136c63d581c4bd6212cc3d (diff)
downloadnextcloud-server-b55ab6d22a82dbd5c1f6f30b23471dfb0a6a48ab.tar.gz
nextcloud-server-b55ab6d22a82dbd5c1f6f30b23471dfb0a6a48ab.zip
Various database migration fixes (#25209)
* String columns with a length higher then 4000 are converted into a CLOB columns automagically - we have to respect this when migrating * Adding schema migration tests to prevent unnecessary and non-sense migration steps Fix Oracle autoincrement and unsigned handling * Fix sqlite integer type for autoincrement * Use lower case table names - fixes pg * Fix postgres with default -1 - this only affect pg 9.4 servers - 9.5 seems to work fine
Diffstat (limited to 'lib/private/DB/OracleMigrator.php')
-rw-r--r--lib/private/DB/OracleMigrator.php6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/private/DB/OracleMigrator.php b/lib/private/DB/OracleMigrator.php
index ceb89cf64d4..010f9213a1d 100644
--- a/lib/private/DB/OracleMigrator.php
+++ b/lib/private/DB/OracleMigrator.php
@@ -23,6 +23,7 @@
namespace OC\DB;
+use Doctrine\DBAL\Schema\ColumnDiff;
use Doctrine\DBAL\Schema\Schema;
class OracleMigrator extends NoCheckMigrator {
@@ -39,7 +40,12 @@ class OracleMigrator extends NoCheckMigrator {
$tableDiff->name = $this->connection->quoteIdentifier($tableDiff->name);
foreach ($tableDiff->changedColumns as $column) {
$column->oldColumnName = $this->connection->quoteIdentifier($column->oldColumnName);
+ // auto increment is not relevant for oracle and can anyhow not be applied on change
+ $column->changedProperties = array_diff($column->changedProperties, ['autoincrement', 'unsigned']);
}
+ $tableDiff->changedColumns = array_filter($tableDiff->changedColumns, function (ColumnDiff $column) {
+ return count($column->changedProperties) > 0;
+ });
}
return $schemaDiff;