1
0
mirror of synced 2025-03-28 02:43: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 * @param string $directory
* @return void * @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); $array = $this->buildSchema($directory, $models);

View File

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

View File

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