Fixes to make schema importing work.
This commit is contained in:
parent
433035fd28
commit
1e1090700c
@ -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;
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
}
|
@ -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
|
||||
@ -37,4 +48,11 @@ Group:
|
||||
autoincrement: true
|
||||
name:
|
||||
type: string
|
||||
length: 255
|
||||
length: 255
|
||||
relations:
|
||||
Users:
|
||||
class: User
|
||||
refClass: UserGroup
|
||||
local: group_id
|
||||
foreign: user_id
|
||||
type: many
|
Loading…
Reference in New Issue
Block a user