Fix temporary schema creation
This commit is contained in:
parent
58c61c8336
commit
be80dce585
1 changed files with 8 additions and 4 deletions
|
@ -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());
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in a new issue