Changeset 3966
- Timestamp:
- 03/10/08 21:55:24 (16 months ago)
- Location:
- branches/0.10
- Files:
-
- 2 modified
-
lib/Doctrine/Import/Schema.php (modified) (3 diffs)
-
tests/schema.yml (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/0.10/lib/Doctrine/Import/Schema.php
r3965 r3966 412 412 $class = isset($relation['class']) ? $relation['class']:$alias; 413 413 414 $relation['class'] = $class; 415 $relation['alias'] = isset($relation['alias']) ? $relation['alias'] : $alias; 416 414 417 // Attempt to guess the local and foreign 415 418 if (isset($relation['refClass'])) { … … 417 420 $relation['foreign'] = isset($relation['foreign']) ? $relation['foreign']:Doctrine::tableize($class) . '_id'; 418 421 } else { 419 $relation['local'] = isset($relation['local']) ? $relation['local']:Doctrine::tableize($class) . '_id'; 422 if ( ! isset($relation['local'])) { 423 $classColumnName = Doctrine::tableize($relation['class']) . '_id'; 424 $aliasColumnName = Doctrine::tableize($relation['alias']) . '_id'; 425 426 if (isset($properties['columns'][$classColumnName])) { 427 $local = $classColumnName; 428 } else if (isset($properties['columns'][$aliasColumnName])) { 429 $local = $aliasColumnName; 430 } else { 431 throw new Doctrine_Import_Exception('Could not guess local column name for relation: ' . $name); 432 } 433 434 $relation['local'] = $local; 435 } 436 420 437 $relation['foreign'] = isset($relation['foreign']) ? $relation['foreign']:'id'; 421 438 } 422 423 $relation['alias'] = isset($relation['alias']) ? $relation['alias'] : $alias;424 $relation['class'] = $class;425 439 426 440 if (isset($relation['refClass'])) { … … 470 484 foreach($this->_relations as $className => $relations) { 471 485 foreach ($relations AS $alias => $relation) { 486 if ((isset($relation['equal']) && $relation['equal']) || (isset($relation['auto_complete']) && $relation['auto_complete'] === false)) { 487 continue; 488 } 489 472 490 $newRelation = array(); 473 491 $newRelation['foreign'] = $relation['local']; -
branches/0.10/tests/schema.yml
r3961 r3966 19 19 primary: true 20 20 autoincrement: true 21 user_id:21 schema_test_user_id: 22 22 type: integer(4) 23 contact_id:23 schema_test_contact_id: 24 24 type: integer(4) 25 25 first_name: … … 50 50 primary: true 51 51 autoincrement: true 52 contact_id:52 schema_test_contact_id: 53 53 type: integer(4) 54 54 phone_number: … … 69 69 type: 70 70 type: string(255) 71 options:72 subclasses: [SchemaTestInheritanceChild1]73 71 74 72 SchemaTestInheritanceChild1: