diff --git a/lib/Doctrine/Import/Reader/Db.php b/lib/Doctrine/Import/Reader/Db.php index 97fe793d8..7a7db9ccd 100644 --- a/lib/Doctrine/Import/Reader/Db.php +++ b/lib/Doctrine/Import/Reader/Db.php @@ -76,15 +76,22 @@ class Doctrine_Import_Reader_Db extends Doctrine_Import_Reader $db->set("name",$dbName); $tableNames = $dataDict->listTables(); - foreach($tableNames as $tableName){ - $table = new Doctrine_Schema_Table(); - $table->set("name",$tableName); - $tableColumns = $dataDict->listTableColumns($tableName); - foreach($tableColumns as $tableColumn){ - $table->addColumn($tableColumn); - } - $db->addTable($table); - } + foreach($tableNames as $tableName){ + $table = new Doctrine_Schema_Table(); + $table->set("name",$tableName); + $tableColumns = $dataDict->listTableColumns($tableName); + foreach($tableColumns as $tableColumn){ + $table->addColumn($tableColumn); + } + $db->addTable($table); + if ($fks = $dataDict->listTableConstraints($tableName)){ + foreach($fks as $fk){ + $relation = new Doctrine_Schema_Relation(); + $relation->setRelationBetween($fk['referencingColumn'],$fk['referencedTable'],$fk['referencedColumn']); + $table->setRelation($relation); + } + } + } return $schema; }