1
0
mirror of synced 2024-12-13 14:56:01 +03:00

Export now executes the constraint clauses after the CREATE TABLE clauses

This commit is contained in:
zYne 2007-06-25 19:03:58 +00:00
parent c45823aa49
commit 1273563b31
2 changed files with 3 additions and 16 deletions

View File

@ -1006,22 +1006,10 @@ class Doctrine_Export extends Doctrine_Connection_Module
} else {
$sql[] = $query;
}
if (isset($data['options']['foreignKeys']) && is_array($data['options']['foreignKeys'])) {
$fks[$table->getTableName()] = $data['options']['foreignKeys'];
}
}
}
/** Not needed anymore ? createTable() now handles foreign keys
rsort($sql);
foreach ($fks as $tableName => $fk) {
foreach ($fk as $k => $definition) {
if (is_array($definition)) {
$sql[] = $this->createForeignKeySql($definition['table'], $definition);
}
}
}
*/
return $sql;
}
/**

View File

@ -91,11 +91,10 @@ class Doctrine_Export_Record_TestCase extends Doctrine_UnitTestCase
Doctrine::export(dirname(__FILE__) . DIRECTORY_SEPARATOR . '_files2');
$this->assertEqual($this->adapter->pop(), 'COMMIT');
$this->assertEqual($this->adapter->pop(), 'ALTER TABLE cms__category_languages ADD CONSTRAINT FOREIGN KEY (category_id) REFERENCES cms__category(id) ON DELETE CASCADE');
$this->assertEqual($this->adapter->pop(), 'CREATE TABLE cms__category (id BIGINT AUTO_INCREMENT, created DATETIME, parent BIGINT, position MEDIUMINT, active BIGINT, INDEX index_parent_idx (parent), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = INNODB');
$this->assertEqual($this->adapter->pop(), 'ALTER TABLE cms__category ADD CONSTRAINT FOREIGN KEY (category_id) REFERENCES cms__category_languages(id) ON DELETE CASCADE');
$this->assertEqual($this->adapter->pop(), 'CREATE TABLE cms__category_languages (id BIGINT AUTO_INCREMENT, name TEXT, category_id BIGINT, language_id BIGINT, INDEX index_category_idx (category_id), INDEX index_language_idx (language_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = INNODB');
$this->assertEqual($this->adapter->pop(), 'BEGIN TRANSACTION');
}
}
class ForeignKeyTest extends Doctrine_Record