1
0
mirror of synced 2024-12-14 07:06:04 +03:00

Fixes to make schema importing work.

This commit is contained in:
Jonathan.Wage 2007-09-20 19:18:05 +00:00
parent 433035fd28
commit 1e1090700c
2 changed files with 29 additions and 1 deletions

View File

@ -106,6 +106,7 @@ abstract class Doctrine_Import_Schema
foreach ($array as $name => $properties) {
$className = $properties['className'];
$relations = $properties['relations'];
$columns = $properties['columns'];
foreach ($relations as $alias => $relation) {
$class = isset($relation['class']) ? $relation['class']:$alias;
@ -113,10 +114,17 @@ abstract class Doctrine_Import_Schema
$relation['alias'] = $alias;
$relation['class'] = $class;
if (isset($relation['type']) && $relation['type']) {
$relation['type'] = $relation['type'] === 'one' ? Doctrine_Relation::ONE:Doctrine_Relation::MANY;
} else {
$relation['type'] = Doctrine_Relation::ONE;
}
$this->relations[$className][$class] = $relation;
}
}
/*
// Fix the other end of the relations
foreach($this->relations as $className => $relations) {
foreach ($relations AS $alias => $relation) {
@ -125,9 +133,11 @@ abstract class Doctrine_Import_Schema
$newRelation['local'] = $relation['foreign'];
$newRelation['class'] = $className;
$newRelation['alias'] = $className;
$newRelation['type'] = $relation['type'] === Doctrine_Relation::ONE ? Doctrine_Relation::MANY:Doctrine_Relation::ONE;
$this->relations[$relation['class']][$className] = $newRelation;
}
}
*/
}
}

View File

@ -9,6 +9,13 @@ User:
username:
type: string
length: 11
relations:
Groups:
class: Group
refClass: UserGroup
local: user_id
foreign: group_id
type: many
UserGroup:
tableName: user_group
@ -17,16 +24,20 @@ UserGroup:
user_id:
type: int
length: 11
primary: true
group_id:
type: int
length: 11
primary: true
relations:
User:
foreign: id
local: user_id
type: one
Group:
foreign: id
local: group_id
type: one
Group:
tableName: group
@ -38,3 +49,10 @@ Group:
name:
type: string
length: 255
relations:
Users:
class: User
refClass: UserGroup
local: group_id
foreign: user_id
type: many