1
0
mirror of synced 2025-03-21 07:23:55 +03:00

Formatting fixes.

This commit is contained in:
Jonathan.Wage 2007-10-08 18:40:14 +00:00
parent c9fb769d46
commit 8cc2c977f0
3 changed files with 29 additions and 19 deletions

View File

@ -144,7 +144,7 @@ class Doctrine_Export_Schema
* @param string $directory
* @return void
*/
public function exportSchema($schema, $format, $directory = null, $models = array())
public function exportSchema($schema, $format = 'yml', $directory = null, $models = array())
{
$array = $this->buildSchema($directory, $models);

View File

@ -40,7 +40,16 @@
class Doctrine_Import_Schema
{
public $relations = array();
public $generateBaseClasses = false;
public function generateBaseClasses($bool = null)
{
if ($bool !== null) {
$this->generateBaseClasses = $bool;
}
return $this->generateBaseClasses;
}
public function buildSchema($schema, $format)
{
$array = array();
@ -63,11 +72,11 @@ class Doctrine_Import_Schema
*
* @access public
*/
public function importSchema($schema, $format, $directory, $models = array())
public function importSchema($schema, $format = 'yml', $directory = null, $models = array())
{
$builder = new Doctrine_Import_Builder();
$builder->setTargetPath($directory);
$builder->generateBaseClasses(false);
$builder->generateBaseClasses($this->generateBaseClasses());
$schema = $this->buildSchema($schema, $format);
@ -171,7 +180,7 @@ class Doctrine_Import_Schema
if (!isset($properties['relations'])) {
continue;
}
echo "name: $name\n";
$className = $properties['className'];
$relations = $properties['relations'];
@ -197,13 +206,15 @@ class Doctrine_Import_Schema
$array[$relation['refClass']]['relations'][$className] = array('local'=>$relation['local'],'foreign'=>$relation['foreign'],'ignore'=>true);
$array[$relation['refClass']]['relations'][$relation['class']] = array('local'=>$relation['local'],'foreign'=>$relation['foreign'],'ignore'=>true);
if(isset($relation['foreignAlias']))
$array[$relation['class']]['relations'][$relation['foreignAlias']]=array('type'=>$relation['type'],'local'=>$relation['foreign'],'foreign'=>$relation['local'],'refClass'=>$relation['refClass'],'class'=>$className);
if(isset($relation['foreignAlias'])) {
$array[$relation['class']]['relations'][$relation['foreignAlias']] = array('type'=>$relation['type'],'local'=>$relation['foreign'],'foreign'=>$relation['local'],'refClass'=>$relation['refClass'],'class'=>$className);
}
}
$this->relations[$className][$alias] = $relation;
}
}
$this->fixRelationships();
}
@ -221,8 +232,9 @@ class Doctrine_Import_Schema
$newRelation['local'] = $relation['foreign'];
$newRelation['class'] = $className;
$newRelation['alias'] = isset($relation['foreignAlias'])?$relation['foreignAlias']:$className;
if(isset($relation['foreignType'])) {
$newRelation['type']=$relation['foreignType'];
$newRelation['type'] = $relation['foreignType'];
} else {
$newRelation['type'] = $relation['type'] === Doctrine_Relation::ONE ? Doctrine_Relation::MANY:Doctrine_Relation::ONE;
}
@ -232,9 +244,9 @@ class Doctrine_Import_Schema
if(isset($otherRelation['refClass']) && $otherRelation['refClass']==$className) // skip fully defined m2m relationships
return;
}
}
else
} else {
$this->relations[$relation['class']][$className] = $newRelation;
}
}
}
}

View File

@ -1,14 +1,12 @@
<?php
require_once('playground.php');
require_once('connection.php');
class MigrationTest extends Doctrine_Record
{
public function setTableDefinition()
{
}
}
$dbh = new PDO('mysql:host=localhost;dbname=test', 'jwage', 'elite1baller');
$conn = Doctrine_Manager::connection($dbh);
$manager = Doctrine_Manager::getInstance();
$migrate = new Doctrine_Migration('/Users/jwage/Sites/doctrine_trunk/playground/migration_classes');
$migrate->migrate();
//Doctrine::loadModels('test_models');
$import = new Doctrine_Import_Schema();
$import->generateBaseClasses(true);
$import->importSchema('schema.yml', 'yml', 'test_models');