$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);
}
*/
protected function checkTableMigrate(Table $table) {
$name = $table->getName();
- $tmpName = uniqid();
+ $tmpName = 'oc_' . uniqid();
$this->copyTable($name, $tmpName);
$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());
}
/**