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) {
|
foreach ($array as $name => $properties) {
|
||||||
$className = $properties['className'];
|
$className = $properties['className'];
|
||||||
$relations = $properties['relations'];
|
$relations = $properties['relations'];
|
||||||
|
$columns = $properties['columns'];
|
||||||
|
|
||||||
foreach ($relations as $alias => $relation) {
|
foreach ($relations as $alias => $relation) {
|
||||||
$class = isset($relation['class']) ? $relation['class']:$alias;
|
$class = isset($relation['class']) ? $relation['class']:$alias;
|
||||||
@ -113,10 +114,17 @@ abstract class Doctrine_Import_Schema
|
|||||||
$relation['alias'] = $alias;
|
$relation['alias'] = $alias;
|
||||||
$relation['class'] = $class;
|
$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;
|
$this->relations[$className][$class] = $relation;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
// Fix the other end of the relations
|
// Fix the other end of the relations
|
||||||
foreach($this->relations as $className => $relations) {
|
foreach($this->relations as $className => $relations) {
|
||||||
foreach ($relations AS $alias => $relation) {
|
foreach ($relations AS $alias => $relation) {
|
||||||
@ -125,9 +133,11 @@ abstract class Doctrine_Import_Schema
|
|||||||
$newRelation['local'] = $relation['foreign'];
|
$newRelation['local'] = $relation['foreign'];
|
||||||
$newRelation['class'] = $className;
|
$newRelation['class'] = $className;
|
||||||
$newRelation['alias'] = $className;
|
$newRelation['alias'] = $className;
|
||||||
|
$newRelation['type'] = $relation['type'] === Doctrine_Relation::ONE ? Doctrine_Relation::MANY:Doctrine_Relation::ONE;
|
||||||
|
|
||||||
$this->relations[$relation['class']][$className] = $newRelation;
|
$this->relations[$relation['class']][$className] = $newRelation;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -9,6 +9,13 @@ User:
|
|||||||
username:
|
username:
|
||||||
type: string
|
type: string
|
||||||
length: 11
|
length: 11
|
||||||
|
relations:
|
||||||
|
Groups:
|
||||||
|
class: Group
|
||||||
|
refClass: UserGroup
|
||||||
|
local: user_id
|
||||||
|
foreign: group_id
|
||||||
|
type: many
|
||||||
|
|
||||||
UserGroup:
|
UserGroup:
|
||||||
tableName: user_group
|
tableName: user_group
|
||||||
@ -17,16 +24,20 @@ UserGroup:
|
|||||||
user_id:
|
user_id:
|
||||||
type: int
|
type: int
|
||||||
length: 11
|
length: 11
|
||||||
|
primary: true
|
||||||
group_id:
|
group_id:
|
||||||
type: int
|
type: int
|
||||||
length: 11
|
length: 11
|
||||||
|
primary: true
|
||||||
relations:
|
relations:
|
||||||
User:
|
User:
|
||||||
foreign: id
|
foreign: id
|
||||||
local: user_id
|
local: user_id
|
||||||
|
type: one
|
||||||
Group:
|
Group:
|
||||||
foreign: id
|
foreign: id
|
||||||
local: group_id
|
local: group_id
|
||||||
|
type: one
|
||||||
|
|
||||||
Group:
|
Group:
|
||||||
tableName: group
|
tableName: group
|
||||||
@ -38,3 +49,10 @@ Group:
|
|||||||
name:
|
name:
|
||||||
type: string
|
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