Export now executes the constraint clauses after the CREATE TABLE clauses
This commit is contained in:
parent
c45823aa49
commit
1273563b31
@ -1006,22 +1006,10 @@ class Doctrine_Export extends Doctrine_Connection_Module
|
||||
} else {
|
||||
$sql[] = $query;
|
||||
}
|
||||
}
|
||||
}
|
||||
rsort($sql);
|
||||
|
||||
if (isset($data['options']['foreignKeys']) && is_array($data['options']['foreignKeys'])) {
|
||||
$fks[$table->getTableName()] = $data['options']['foreignKeys'];
|
||||
}
|
||||
}
|
||||
}
|
||||
/** Not needed anymore ? createTable() now handles foreign keys
|
||||
|
||||
foreach ($fks as $tableName => $fk) {
|
||||
foreach ($fk as $k => $definition) {
|
||||
if (is_array($definition)) {
|
||||
$sql[] = $this->createForeignKeySql($definition['table'], $definition);
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
return $sql;
|
||||
}
|
||||
/**
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user