From be80dce58564c88aa74fb353ab17793fc7eb37e0 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Fri, 14 Mar 2014 14:32:02 +0100 Subject: [PATCH] Fix temporary schema creation --- lib/private/db/migrator.php | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/private/db/migrator.php b/lib/private/db/migrator.php index cf95669fb83..63fddd9c28a 100644 --- a/lib/private/db/migrator.php +++ b/lib/private/db/migrator.php @@ -47,8 +47,12 @@ class Migrator { $existingTables = $this->connection->getSchemaManager()->listTableNames(); foreach ($tables as $table) { + if (strpos($table->getName(), '.')) { + list(, $tableName) = explode('.', $table->getName()); + } else { + $tableName = $table->getName(); + } // don't need to check for new tables - list(, $tableName) = explode('.', $table->getName()); if (array_search($tableName, $existingTables) !== false) { $this->checkTableMigrate($table); } @@ -63,7 +67,7 @@ class Migrator { */ protected function checkTableMigrate(Table $table) { $name = $table->getName(); - $tmpName = uniqid(); + $tmpName = 'oc_' . uniqid(); $this->copyTable($name, $tmpName); @@ -94,12 +98,12 @@ class Migrator { $indexes = $table->getIndexes(); $newIndexes = array(); foreach ($indexes as $index) { - $indexName = uniqid(); // avoid conflicts in index names + $indexName = 'oc_' . uniqid(); // avoid conflicts in index names $newIndexes[] = new Index($indexName, $index->getColumns(), $index->isUnique(), $index->isPrimary()); } // foreign keys are not supported so we just set it to an empty array - return new Table($newName, $table->getColumns(), $indexes, array(), 0, $table->getOptions()); + return new Table($newName, $table->getColumns(), $newIndexes, array(), 0, $table->getOptions()); } /** -- 2.39.5