From fcbe01f8001b7334e2b1c2acee5f58a696fe653a Mon Sep 17 00:00:00 2001 From: beberlei Date: Sun, 21 Mar 2010 11:57:07 +0000 Subject: [PATCH] [2.0] DDC-454 - ForeignKey problems when several new tables are found in SchemaDiff::toSql --- lib/Doctrine/DBAL/Schema/SchemaDiff.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/Doctrine/DBAL/Schema/SchemaDiff.php b/lib/Doctrine/DBAL/Schema/SchemaDiff.php index f4171867c..c02775589 100644 --- a/lib/Doctrine/DBAL/Schema/SchemaDiff.php +++ b/lib/Doctrine/DBAL/Schema/SchemaDiff.php @@ -149,12 +149,17 @@ class SchemaDiff } } + $foreignKeySql = array(); foreach ($this->newTables AS $table) { $sql = array_merge( $sql, - $platform->getCreateTableSQL($table, AbstractPlatform::CREATE_FOREIGNKEYS|AbstractPlatform::CREATE_INDEXES) + $platform->getCreateTableSQL($table, AbstractPlatform::CREATE_INDEXES) ); + foreach ($table->getForeignKeys() AS $foreignKey) { + $foreignKeySql[] = $platform->getCreateForeignKeySQL($foreignKey, $table); + } } + $sql = array_merge($sql, $foreignKeySql); if ($saveMode === false) { foreach ($this->removedTables AS $table) {