From 185c334710d7dce2144a5e57844c11a77b9c3e6f Mon Sep 17 00:00:00 2001 From: runa Date: Fri, 3 Nov 2006 20:18:59 +0000 Subject: [PATCH] support for FKs, indented with spaces --- lib/Doctrine/Import/Reader/Db.php | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) 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; }