diff --git a/UPGRADE_TO_2_0 b/UPGRADE_TO_2_0
index fb34f1f9a..379d364db 100644
--- a/UPGRADE_TO_2_0
+++ b/UPGRADE_TO_2_0
@@ -46,7 +46,7 @@ Prefer PHP default values, if possible.
## Partial Objects
-xxx
+[TBD: New syntax, results, etc.]
## XML Mapping Driver
diff --git a/bin/doctrine.php b/bin/doctrine.php
index cd507f6c7..b1a29efeb 100644
--- a/bin/doctrine.php
+++ b/bin/doctrine.php
@@ -2,12 +2,15 @@
require_once 'Doctrine/Common/ClassLoader.php';
-$classLoader = new \Doctrine\Common\ClassLoader('Doctrine');
+$classLoader = new \Doctrine\Common\ClassLoader('Doctrine', __DIR__ . '/../lib');
+$classLoader->register();
+
+$classLoader = new \Doctrine\Common\ClassLoader('Symfony', __DIR__ . '/../lib/vendor');
$classLoader->register();
$configFile = getcwd() . DIRECTORY_SEPARATOR . 'cli-config.php';
-$configuration = null;
+$helperSet = null;
if (file_exists($configFile)) {
if ( ! is_readable($configFile)) {
trigger_error(
@@ -17,15 +20,38 @@ if (file_exists($configFile)) {
require $configFile;
- foreach ($GLOBALS as $configCandidate) {
- if ($configCandidate instanceof \Doctrine\Common\CLI\Configuration) {
- $configuration = $configCandidate;
+ foreach ($GLOBALS as $helperSetCandidate) {
+ if ($helperSetCandidate instanceof \Symfony\Components\Console\Helper\HelperSet) {
+ $helperSet = $helperSetCandidate;
break;
}
}
}
-$configuration = ($configuration) ?: new \Doctrine\Common\CLI\Configuration();
+$helperSet = ($helperSet) ?: new \Symfony\Components\Console\Helper\HelperSet();
-$cli = new \Doctrine\Common\CLI\CLIController($configuration);
-$cli->run($_SERVER['argv']);
\ No newline at end of file
+$cli = new \Symfony\Components\Console\Application('Doctrine Command Line Interface', Doctrine\Common\Version::VERSION);
+$cli->setCatchExceptions(true);
+$cli->setHelperSet($helperSet);
+$cli->addCommands(array(
+ // DBAL Commands
+ new \Doctrine\DBAL\Tools\Console\Command\RunSqlCommand(),
+ new \Doctrine\DBAL\Tools\Console\Command\ImportCommand(),
+
+ // ORM Commands
+ new \Doctrine\ORM\Tools\Console\Command\ClearCache\MetadataCommand(),
+ new \Doctrine\ORM\Tools\Console\Command\ClearCache\ResultCommand(),
+ new \Doctrine\ORM\Tools\Console\Command\ClearCache\QueryCommand(),
+ new \Doctrine\ORM\Tools\Console\Command\SchemaTool\CreateCommand(),
+ new \Doctrine\ORM\Tools\Console\Command\SchemaTool\UpdateCommand(),
+ new \Doctrine\ORM\Tools\Console\Command\SchemaTool\DropCommand(),
+ new \Doctrine\ORM\Tools\Console\Command\EnsureProductionSettingsCommand(),
+ new \Doctrine\ORM\Tools\Console\Command\ConvertDoctrine1SchemaCommand(),
+ new \Doctrine\ORM\Tools\Console\Command\GenerateRepositoriesCommand(),
+ new \Doctrine\ORM\Tools\Console\Command\GenerateEntitiesCommand(),
+ new \Doctrine\ORM\Tools\Console\Command\GenerateProxiesCommand(),
+ new \Doctrine\ORM\Tools\Console\Command\ConvertMappingCommand(),
+ new \Doctrine\ORM\Tools\Console\Command\RunDqlCommand(),
+
+));
+$cli->run();
\ No newline at end of file
diff --git a/doctrine-mapping.xsd b/doctrine-mapping.xsd
index 51dc089f9..f3bea4f8e 100644
--- a/doctrine-mapping.xsd
+++ b/doctrine-mapping.xsd
@@ -217,7 +217,7 @@
-
+
@@ -237,6 +237,7 @@
+
@@ -246,7 +247,7 @@
-
+
@@ -264,6 +265,7 @@
+
@@ -274,9 +276,10 @@
+
-
+
diff --git a/lib/Doctrine/Common/EventArgs.php b/lib/Doctrine/Common/EventArgs.php
index bfd05b4dc..6a3c0699a 100644
--- a/lib/Doctrine/Common/EventArgs.php
+++ b/lib/Doctrine/Common/EventArgs.php
@@ -26,7 +26,7 @@ namespace Doctrine\Common;
*
* This class contains no event data. It is used by events that do not pass state
* information to an event handler when an event is raised. The single empty EventArgs
- * instance can be obtained through {@link getEmptyInstance()}.
+ * instance can be obtained through {@link getEmptyInstance}.
*
* @license http://www.opensource.org/licenses/lgpl-license.php LGPL
* @link www.doctrine-project.org
diff --git a/lib/Doctrine/Common/EventSubscriber.php b/lib/Doctrine/Common/EventSubscriber.php
index d095af094..8e55973bd 100644
--- a/lib/Doctrine/Common/EventSubscriber.php
+++ b/lib/Doctrine/Common/EventSubscriber.php
@@ -16,7 +16,7 @@
*
* This software consists of voluntary contributions made by many individuals
* and is licensed under the LGPL. For more information, see
- * .
+ * .
*/
namespace Doctrine\Common;
@@ -24,13 +24,12 @@ namespace Doctrine\Common;
/**
* An EventSubscriber knows himself what events he is interested in.
* If an EventSubscriber is added to an EventManager, the manager invokes
- * getSubscribedEvents() and registers the subscriber as a listener for all
+ * {@link getSubscribedEvents} and registers the subscriber as a listener for all
* returned events.
*
* @license http://www.opensource.org/licenses/lgpl-license.php LGPL
* @link www.doctrine-project.org
* @since 2.0
- * @version $Revision: 3938 $
* @author Guilherme Blanco
* @author Jonathan Wage
* @author Roman Borschel
@@ -38,7 +37,7 @@ namespace Doctrine\Common;
interface EventSubscriber
{
/**
- * Returns an array of events that this subscriber listens
+ * Returns an array of events this subscriber wants to listen to.
*
* @return array
*/
diff --git a/lib/Doctrine/ORM/Internal/Hydration/ObjectHydrator.php b/lib/Doctrine/ORM/Internal/Hydration/ObjectHydrator.php
index cc13676d6..ffab1a334 100644
--- a/lib/Doctrine/ORM/Internal/Hydration/ObjectHydrator.php
+++ b/lib/Doctrine/ORM/Internal/Hydration/ObjectHydrator.php
@@ -87,8 +87,8 @@ class ObjectHydrator extends AbstractHydrator
if ($assoc->mappedBy) {
$this->_hints['fetched'][$className][$assoc->mappedBy] = true;
} else {
- if (isset($class->inverseMappings[$sourceClassName][$assoc->sourceFieldName])) {
- $inverseAssoc = $class->inverseMappings[$sourceClassName][$assoc->sourceFieldName];
+ if ($assoc->inversedBy) {
+ $inverseAssoc = $class->associationMappings[$assoc->inversedBy];
if ($inverseAssoc->isOneToOne()) {
$this->_hints['fetched'][$className][$inverseAssoc->sourceFieldName] = true;
if ($class->subClasses) {
@@ -346,9 +346,10 @@ class ObjectHydrator extends AbstractHydrator
$this->_uow->setOriginalEntityProperty($oid, $relationField, $element);
$targetClass = $this->_ce[$relation->targetEntityName];
if ($relation->isOwningSide) {
+ //TODO: Just check hints['fetched'] here?
// If there is an inverse mapping on the target class its bidirectional
- if (isset($targetClass->inverseMappings[$relation->sourceEntityName][$relationField])) {
- $inverseAssoc = $targetClass->inverseMappings[$relation->sourceEntityName][$relationField];
+ if ($relation->inversedBy) {
+ $inverseAssoc = $targetClass->associationMappings[$relation->inversedBy];
if ($inverseAssoc->isOneToOne()) {
$targetClass->reflFields[$inverseAssoc->sourceFieldName]->setValue($element, $parentObject);
$this->_uow->setOriginalEntityProperty(spl_object_hash($element), $inverseAssoc->sourceFieldName, $parentObject);
diff --git a/lib/Doctrine/ORM/Mapping/ClassMetadata.php b/lib/Doctrine/ORM/Mapping/ClassMetadata.php
index 92f403324..aa16d865d 100644
--- a/lib/Doctrine/ORM/Mapping/ClassMetadata.php
+++ b/lib/Doctrine/ORM/Mapping/ClassMetadata.php
@@ -315,7 +315,6 @@ class ClassMetadata extends ClassMetadataInfo
'idGenerator', //TODO: Does not really need to be serialized. Could be moved to runtime.
'inheritanceType',
'inheritedAssociationFields',
- 'inverseMappings', //TODO: Remove! DDC-193
'isIdentifierComposite',
'isMappedSuperclass',
'isVersioned',
diff --git a/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php b/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php
index a38bb1b99..b3ed57d98 100644
--- a/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php
+++ b/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php
@@ -127,9 +127,9 @@ class ClassMetadataInfo
public $namespace;
/**
- * READ-ONLY: The name of the entity class that is at the root of the entity inheritance
- * hierarchy. If the entity is not part of an inheritance hierarchy this is the same
- * as $_entityName.
+ * READ-ONLY: The name of the entity class that is at the root of the mapped entity inheritance
+ * hierarchy. If the entity is not part of a mapped inheritance hierarchy this is the same
+ * as {@link $entityName}.
*
* @var string
*/
@@ -312,14 +312,6 @@ class ClassMetadataInfo
*/
public $associationMappings = array();
- /**
- * READ-ONLY: List of inverse association mappings, indexed by mappedBy field name.
- *
- * @var array
- * @todo Remove! See http://www.doctrine-project.org/jira/browse/DDC-193
- */
- public $inverseMappings = array();
-
/**
* READ-ONLY: Flag indicating whether the identifier/primary key of the class is composite.
*
@@ -531,34 +523,6 @@ class ClassMetadataInfo
return $this->associationMappings[$fieldName];
}
- /**
- * Gets the inverse association mapping for the given target class name and
- * owning fieldname.
- *
- * @param string $mappedByFieldName The field on the
- * @return Doctrine\ORM\Mapping\AssociationMapping The mapping or NULL if there is no such
- * inverse association mapping.
- */
- public function getInverseAssociationMapping($targetClassName, $mappedByFieldName)
- {
- return isset($this->inverseMappings[$targetClassName][$mappedByFieldName]) ?
- $this->inverseMappings[$targetClassName][$mappedByFieldName] : null;
- }
-
- /**
- * Checks whether the class has an inverse association mapping that points to the
- * specified class and ha the specified mappedBy field.
- *
- * @param string $targetClassName The name of the target class.
- * @param string $mappedByFieldName The name of the mappedBy field that points to the field on
- * the target class that owns the association.
- * @return boolean
- */
- public function hasInverseAssociationMapping($targetClassName, $mappedByFieldName)
- {
- return isset($this->inverseMappings[$targetClassName][$mappedByFieldName]);
- }
-
/**
* Gets all association mappings of the class.
*
@@ -1063,7 +1027,6 @@ class ClassMetadataInfo
if ($owningClassName !== null) {
$this->inheritedAssociationFields[$sourceFieldName] = $owningClassName;
}
- $this->_registerMappingIfInverse($mapping);
}
/**
@@ -1093,20 +1056,6 @@ class ClassMetadataInfo
$this->_storeAssociationMapping($oneToOneMapping);
}
- /**
- * Registers the mapping as an inverse mapping, if it is a mapping on the
- * inverse side of an association mapping.
- *
- * @param AssociationMapping The mapping to register as inverse if it is a mapping
- * for the inverse side of an association.
- */
- private function _registerMappingIfInverse(AssociationMapping $assoc)
- {
- if ( ! $assoc->isOwningSide) {
- $this->inverseMappings[$assoc->targetEntityName][$assoc->mappedBy] = $assoc;
- }
- }
-
/**
* Adds a one-to-many mapping.
*
@@ -1154,7 +1103,6 @@ class ClassMetadataInfo
throw MappingException::duplicateFieldMapping($this->name, $sourceFieldName);
}
$this->associationMappings[$sourceFieldName] = $assocMapping;
- $this->_registerMappingIfInverse($assocMapping);
}
/**
diff --git a/lib/Doctrine/ORM/Mapping/Driver/AbstractFileDriver.php b/lib/Doctrine/ORM/Mapping/Driver/AbstractFileDriver.php
index daab7b531..29dedf3e1 100644
--- a/lib/Doctrine/ORM/Mapping/Driver/AbstractFileDriver.php
+++ b/lib/Doctrine/ORM/Mapping/Driver/AbstractFileDriver.php
@@ -55,7 +55,7 @@ abstract class AbstractFileDriver implements Driver
* @var string
*/
protected $_fileExtension;
-
+
/**
* Initializes a new FileDriver that looks in the given path(s) for mapping
* documents and operates in the specified operating mode.
@@ -76,7 +76,7 @@ abstract class AbstractFileDriver implements Driver
{
$this->_paths = array_unique(array_merge($this->_paths, $paths));
}
-
+
/**
* Retrieve the defined metadata lookup paths.
*
@@ -107,7 +107,7 @@ abstract class AbstractFileDriver implements Driver
{
$this->_fileExtension = $fileExtension;
}
-
+
/**
* Get the element of schema meta data for the class from the mapping file.
* This will lazily load the mapping file if it is not loaded yet
@@ -132,7 +132,7 @@ abstract class AbstractFileDriver implements Driver
public function isTransient($className)
{
$fileName = str_replace('\\', '.', $className) . $this->_fileExtension;
-
+
// Check whether file exists
foreach ((array) $this->_paths as $path) {
if (file_exists($path . DIRECTORY_SEPARATOR . $fileName)) {
@@ -142,7 +142,7 @@ abstract class AbstractFileDriver implements Driver
return true;
}
-
+
/**
* Gets the names of all mapped classes known to this driver.
*
@@ -151,7 +151,7 @@ abstract class AbstractFileDriver implements Driver
public function getAllClassNames()
{
$classes = array();
-
+
if ($this->_paths) {
foreach ((array) $this->_paths as $path) {
if ( ! is_dir($path)) {
diff --git a/lib/Doctrine/ORM/Mapping/Driver/AnnotationDriver.php b/lib/Doctrine/ORM/Mapping/Driver/AnnotationDriver.php
index e0a53394c..8e01479f7 100644
--- a/lib/Doctrine/ORM/Mapping/Driver/AnnotationDriver.php
+++ b/lib/Doctrine/ORM/Mapping/Driver/AnnotationDriver.php
@@ -173,7 +173,7 @@ class AnnotationDriver implements Driver
// Evaluate InheritanceType annotation
if (isset($classAnnotations['Doctrine\ORM\Mapping\InheritanceType'])) {
$inheritanceTypeAnnot = $classAnnotations['Doctrine\ORM\Mapping\InheritanceType'];
- $metadata->setInheritanceType(constant('\Doctrine\ORM\Mapping\ClassMetadata::INHERITANCE_TYPE_' . $inheritanceTypeAnnot->value));
+ $metadata->setInheritanceType(constant('Doctrine\ORM\Mapping\ClassMetadata::INHERITANCE_TYPE_' . $inheritanceTypeAnnot->value));
}
// Evaluate DiscriminatorColumn annotation
@@ -195,7 +195,7 @@ class AnnotationDriver implements Driver
// Evaluate DoctrineChangeTrackingPolicy annotation
if (isset($classAnnotations['Doctrine\ORM\Mapping\ChangeTrackingPolicy'])) {
$changeTrackingAnnot = $classAnnotations['Doctrine\ORM\Mapping\ChangeTrackingPolicy'];
- $metadata->setChangeTrackingPolicy(constant('\Doctrine\ORM\Mapping\ClassMetadata::CHANGETRACKING_' . $changeTrackingAnnot->value));
+ $metadata->setChangeTrackingPolicy(constant('Doctrine\ORM\Mapping\ClassMetadata::CHANGETRACKING_' . $changeTrackingAnnot->value));
}
// Evaluate annotations on properties/fields
diff --git a/lib/Doctrine/ORM/Mapping/Driver/DatabaseDriver.php b/lib/Doctrine/ORM/Mapping/Driver/DatabaseDriver.php
index ecfc71102..083583ac7 100644
--- a/lib/Doctrine/ORM/Mapping/Driver/DatabaseDriver.php
+++ b/lib/Doctrine/ORM/Mapping/Driver/DatabaseDriver.php
@@ -29,7 +29,7 @@ use Doctrine\Common\Cache\ArrayCache,
Doctrine\Common\Util\Inflector;
/**
- * The DatabaseDriver reverse engineers the mapping metadata from a database
+ * The DatabaseDriver reverse engineers the mapping metadata from a database.
*
* @license http://www.opensource.org/licenses/lgpl-license.php LGPL
* @link www.doctrine-project.org
@@ -67,7 +67,7 @@ class DatabaseDriver implements Driver
$columns = $this->_sm->listTableColumns($tableName);
- if($this->_sm->getDatabasePlatform()->supportsForeignKeyConstraints()) {
+ if ($this->_sm->getDatabasePlatform()->supportsForeignKeyConstraints()) {
$foreignKeys = $this->_sm->listTableForeignKeys($tableName);
} else {
$foreignKeys = array();
diff --git a/lib/Doctrine/ORM/Mapping/Driver/DoctrineAnnotations.php b/lib/Doctrine/ORM/Mapping/Driver/DoctrineAnnotations.php
index 3c4e7415e..537aaf3a3 100644
--- a/lib/Doctrine/ORM/Mapping/Driver/DoctrineAnnotations.php
+++ b/lib/Doctrine/ORM/Mapping/Driver/DoctrineAnnotations.php
@@ -37,7 +37,6 @@ final class DiscriminatorColumn extends Annotation {
public $length;
}
final class DiscriminatorMap extends Annotation {}
-/*final class SubClasses extends Annotation {}*/
final class Id extends Annotation {}
final class GeneratedValue extends Annotation {
public $strategy = 'AUTO';
@@ -124,7 +123,6 @@ final class SequenceGenerator extends Annotation {
public $initialValue = 1;
}
final class ChangeTrackingPolicy extends Annotation {}
-
final class OrderBy extends Annotation {}
/* Annotations for lifecycle callbacks */
diff --git a/lib/Doctrine/ORM/Mapping/Driver/DriverChain.php b/lib/Doctrine/ORM/Mapping/Driver/DriverChain.php
index dcc461840..cd2a727fe 100644
--- a/lib/Doctrine/ORM/Mapping/Driver/DriverChain.php
+++ b/lib/Doctrine/ORM/Mapping/Driver/DriverChain.php
@@ -46,7 +46,7 @@ class DriverChain implements Driver
private $_drivers = array();
/**
- * Add a nested driver
+ * Add a nested driver.
*
* @param Driver $nestedDriver
* @param string $namespace
@@ -57,7 +57,7 @@ class DriverChain implements Driver
}
/**
- * Get the array of nested drivers
+ * Get the array of nested drivers.
*
* @return array $drivers
*/
@@ -74,7 +74,7 @@ class DriverChain implements Driver
*/
public function loadMetadataForClass($className, ClassMetadataInfo $metadata)
{
- foreach ($this->_drivers AS $namespace => $driver) {
+ foreach ($this->_drivers as $namespace => $driver) {
if (strpos($className, $namespace) === 0) {
$driver->loadMetadataForClass($className, $metadata);
return;
diff --git a/lib/Doctrine/ORM/Mapping/Driver/PhpDriver.php b/lib/Doctrine/ORM/Mapping/Driver/PhpDriver.php
index 288637505..6b6954b83 100644
--- a/lib/Doctrine/ORM/Mapping/Driver/PhpDriver.php
+++ b/lib/Doctrine/ORM/Mapping/Driver/PhpDriver.php
@@ -49,7 +49,6 @@ class PhpDriver extends AbstractFileDriver
* {@inheritdoc}
*/
protected $_fileExtension = '.php';
-
protected $_metadata;
/**
diff --git a/lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php b/lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php
index e02c3bdf5..40608d001 100644
--- a/lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php
+++ b/lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php
@@ -21,7 +21,8 @@
namespace Doctrine\ORM\Mapping\Driver;
-use Doctrine\ORM\Mapping\ClassMetadataInfo,
+use SimpleXMLElement,
+ Doctrine\ORM\Mapping\ClassMetadataInfo,
Doctrine\ORM\Mapping\MappingException;
/**
@@ -226,6 +227,9 @@ class XmlDriver extends AbstractFileDriver
if (isset($oneToOneElement['mapped-by'])) {
$mapping['mappedBy'] = (string)$oneToOneElement['mapped-by'];
} else {
+ if (isset($oneToOneElement['inversed-by'])) {
+ $mapping['inversedBy'] = (string)$oneToOneElement['inversed-by'];
+ }
$joinColumns = array();
if (isset($oneToOneElement->{'join-column'})) {
@@ -295,9 +299,13 @@ class XmlDriver extends AbstractFileDriver
if (isset($manyToOneElement['fetch'])) {
$mapping['fetch'] = constant('Doctrine\ORM\Mapping\AssociationMapping::FETCH_' . (string)$manyToOneElement['fetch']);
}
-
+
+ if (isset($manyToOneElement['inversed-by'])) {
+ $mapping['inversedBy'] = (string)$manyToOneElement['inversed-by'];
+ }
+
$joinColumns = array();
-
+
if (isset($manyToOneElement->{'join-column'})) {
$joinColumns[] = $this->_getJoinColumnMapping($manyToOneElement->{'join-column'});
} else if (isset($manyToOneElement->{'join-columns'})) {
@@ -305,13 +313,12 @@ class XmlDriver extends AbstractFileDriver
if (!isset($joinColumnElement['name'])) {
$joinColumnElement['name'] = $name;
}
-
$joinColumns[] = $this->_getJoinColumnMapping($joinColumnElement);
}
}
-
+
$mapping['joinColumns'] = $joinColumns;
-
+
if (isset($manyToOneElement->cascade)) {
$mapping['cascade'] = $this->_getCascadeMappings($manyToOneElement->cascade);
}
@@ -339,11 +346,15 @@ class XmlDriver extends AbstractFileDriver
if (isset($manyToManyElement['mapped-by'])) {
$mapping['mappedBy'] = (string)$manyToManyElement['mapped-by'];
} else if (isset($manyToManyElement->{'join-table'})) {
+ if (isset($manyToManyElement['inversed-by'])) {
+ $mapping['inversedBy'] = (string)$manyToManyElement['inversed-by'];
+ }
+
$joinTableElement = $manyToManyElement->{'join-table'};
$joinTable = array(
'name' => (string)$joinTableElement['name']
);
-
+
if (isset($joinTableElement['schema'])) {
$joinTable['schema'] = (string)$joinTableElement['schema'];
}
@@ -382,7 +393,7 @@ class XmlDriver extends AbstractFileDriver
// Evaluate
if (isset($xmlRoot->{'lifecycle-callbacks'})) {
foreach ($xmlRoot->{'lifecycle-callbacks'}->{'lifecycle-callback'} as $lifecycleCallback) {
- $metadata->addLifecycleCallback((string)$lifecycleCallback['method'], constant('\Doctrine\ORM\Events::' . (string)$lifecycleCallback['type']));
+ $metadata->addLifecycleCallback((string)$lifecycleCallback['method'], constant('Doctrine\ORM\Events::' . (string)$lifecycleCallback['type']));
}
}
}
@@ -394,7 +405,7 @@ class XmlDriver extends AbstractFileDriver
* @param $joinColumnElement The XML element.
* @return array The mapping array.
*/
- private function _getJoinColumnMapping(\SimpleXMLElement $joinColumnElement)
+ private function _getJoinColumnMapping(SimpleXMLElement $joinColumnElement)
{
$joinColumn = array(
'name' => (string)$joinColumnElement['name'],
diff --git a/lib/Doctrine/ORM/Mapping/Driver/YamlDriver.php b/lib/Doctrine/ORM/Mapping/Driver/YamlDriver.php
index a1e9d8804..f5448ff1f 100644
--- a/lib/Doctrine/ORM/Mapping/Driver/YamlDriver.php
+++ b/lib/Doctrine/ORM/Mapping/Driver/YamlDriver.php
@@ -230,6 +230,10 @@ class YamlDriver extends AbstractFileDriver
if (isset($oneToOneElement['mappedBy'])) {
$mapping['mappedBy'] = $oneToOneElement['mappedBy'];
} else {
+ if (isset($oneToOneElement['inversedBy'])) {
+ $mapping['inversedBy'] = $oneToOneElement['inversedBy'];
+ }
+
$joinColumns = array();
if (isset($oneToOneElement['joinColumn'])) {
@@ -292,6 +296,10 @@ class YamlDriver extends AbstractFileDriver
$mapping['fetch'] = constant('Doctrine\ORM\Mapping\AssociationMapping::FETCH_' . $manyToOneElement['fetch']);
}
+ if (isset($manyToOneElement['inversedBy'])) {
+ $mapping['inversedBy'] = $manyToOneElement['inversedBy'];
+ }
+
$joinColumns = array();
if (isset($manyToOneElement['joinColumn'])) {
@@ -331,6 +339,10 @@ class YamlDriver extends AbstractFileDriver
if (isset($manyToManyElement['mappedBy'])) {
$mapping['mappedBy'] = $manyToManyElement['mappedBy'];
} else if (isset($manyToManyElement['joinTable'])) {
+ if (isset($manyToManyElement['inversedBy'])) {
+ $mapping['inversedBy'] = $manyToManyElement['inversedBy'];
+ }
+
$joinTableElement = $manyToManyElement['joinTable'];
$joinTable = array(
'name' => $joinTableElement['name']
@@ -375,7 +387,7 @@ class YamlDriver extends AbstractFileDriver
if (isset($element['lifecycleCallbacks'])) {
foreach ($element['lifecycleCallbacks'] as $type => $methods) {
foreach ($methods as $method) {
- $metadata->addLifecycleCallback($method, constant('\Doctrine\ORM\Events::' . $type));
+ $metadata->addLifecycleCallback($method, constant('Doctrine\ORM\Events::' . $type));
}
}
}
diff --git a/lib/Doctrine/ORM/Mapping/ManyToManyMapping.php b/lib/Doctrine/ORM/Mapping/ManyToManyMapping.php
index 3f92c63a7..95aad2b41 100644
--- a/lib/Doctrine/ORM/Mapping/ManyToManyMapping.php
+++ b/lib/Doctrine/ORM/Mapping/ManyToManyMapping.php
@@ -70,10 +70,7 @@ class ManyToManyMapping extends AssociationMapping
public $orderBy;
/**
- * Validates and completes the mapping.
- *
- * @param array $mapping
- * @override
+ * {@inheritdoc}
*/
protected function _validateAndCompleteMapping(array $mapping)
{
@@ -89,13 +86,15 @@ class ManyToManyMapping extends AssociationMapping
'joinColumns' => array(
array(
'name' => $sourceShortName . '_id',
- 'referencedColumnName' => 'id'
+ 'referencedColumnName' => 'id',
+ 'onDelete' => 'CASCADE'
)
),
'inverseJoinColumns' => array(
array(
'name' => $targetShortName . '_id',
- 'referencedColumnName' => 'id'
+ 'referencedColumnName' => 'id',
+ 'onDelete' => 'CASCADE'
)
)
);
@@ -178,6 +177,7 @@ class ManyToManyMapping extends AssociationMapping
$persister->loadManyToManyCollection($this, $joinTableConditions, $targetCollection);
}
+ /** {@inheritdoc} */
public function isManyToMany()
{
return true;
diff --git a/lib/Doctrine/ORM/Mapping/OneToOneMapping.php b/lib/Doctrine/ORM/Mapping/OneToOneMapping.php
index 051d94324..c82558fb4 100644
--- a/lib/Doctrine/ORM/Mapping/OneToOneMapping.php
+++ b/lib/Doctrine/ORM/Mapping/OneToOneMapping.php
@@ -141,18 +141,14 @@ class OneToOneMapping extends AssociationMapping
$targetClass = $em->getClassMetadata($this->targetEntityName);
if ($this->isOwningSide) {
- $inverseField = isset($targetClass->inverseMappings[$this->sourceEntityName][$this->sourceFieldName]) ?
- $targetClass->inverseMappings[$this->sourceEntityName][$this->sourceFieldName]->sourceFieldName
- : false;
-
// Mark inverse side as fetched in the hints, otherwise the UoW would
// try to load it in a separate query (remember: to-one inverse sides can not be lazy).
$hints = array();
- if ($inverseField) {
- $hints['fetched'][$targetClass->name][$inverseField] = true;
+ if ($this->inversedBy) {
+ $hints['fetched'][$targetClass->name][$this->inversedBy] = true;
if ($targetClass->subClasses) {
foreach ($targetClass->subClasses as $targetSubclassName) {
- $hints['fetched'][$targetSubclassName][$inverseField] = true;
+ $hints['fetched'][$targetSubclassName][$this->inversedBy] = true;
}
}
}
@@ -164,8 +160,8 @@ class OneToOneMapping extends AssociationMapping
$targetEntity = $em->getUnitOfWork()->getEntityPersister($this->targetEntityName)->load($joinColumnValues, $targetEntity, $this, $hints);
- if ($targetEntity !== null && $inverseField && ! $targetClass->isCollectionValuedAssociation($inverseField)) {
- $targetClass->reflFields[$inverseField]->setValue($targetEntity, $sourceEntity);
+ if ($targetEntity !== null && $this->inversedBy && ! $targetClass->isCollectionValuedAssociation($this->inversedBy)) {
+ $targetClass->reflFields[$this->inversedBy]->setValue($targetEntity, $sourceEntity);
}
} else {
$conditions = array();
diff --git a/lib/Doctrine/ORM/PersistentCollection.php b/lib/Doctrine/ORM/PersistentCollection.php
index d19537c27..ef8e82dbf 100644
--- a/lib/Doctrine/ORM/PersistentCollection.php
+++ b/lib/Doctrine/ORM/PersistentCollection.php
@@ -134,18 +134,7 @@ final class PersistentCollection implements Collection
{
$this->_owner = $entity;
$this->_association = $assoc;
-
- // Check for bidirectionality
- //$this->_backRefFieldName = $assoc->inversedBy ?: $assoc->mappedBy;
- if ( ! $assoc->isOwningSide) {
- // For sure bi-directional
- $this->_backRefFieldName = $assoc->mappedBy;
- } else {
- if (isset($this->_typeClass->inverseMappings[$assoc->sourceEntityName][$assoc->sourceFieldName])) {
- // Bi-directional
- $this->_backRefFieldName = $this->_typeClass->inverseMappings[$assoc->sourceEntityName][$assoc->sourceFieldName]->sourceFieldName;
- }
- }
+ $this->_backRefFieldName = $assoc->inversedBy ?: $assoc->mappedBy;
}
/**
@@ -174,8 +163,8 @@ final class PersistentCollection implements Collection
public function hydrateAdd($element)
{
$this->_coll->add($element);
- // If _backRefFieldName is set, then the association is bidirectional
- // and we need to set the back reference.
+ // If _backRefFieldName is set and its a one-to-many association,
+ // we need to set the back reference.
if ($this->_backRefFieldName && $this->_association->isOneToMany()) {
// Set back reference to owner
$this->_typeClass->reflFields[$this->_backRefFieldName]
diff --git a/lib/Doctrine/ORM/Persisters/AbstractCollectionPersister.php b/lib/Doctrine/ORM/Persisters/AbstractCollectionPersister.php
index 9b40e6372..cf8c7ff8d 100644
--- a/lib/Doctrine/ORM/Persisters/AbstractCollectionPersister.php
+++ b/lib/Doctrine/ORM/Persisters/AbstractCollectionPersister.php
@@ -50,7 +50,7 @@ abstract class AbstractCollectionPersister
protected $_uow;
/**
- * Initializes a new instance of a class derived from {@link AbstractCollectionPersister}.
+ * Initializes a new instance of a class derived from AbstractCollectionPersister.
*
* @param Doctrine\ORM\EntityManager $em
*/
diff --git a/lib/Doctrine/ORM/Persisters/StandardEntityPersister.php b/lib/Doctrine/ORM/Persisters/StandardEntityPersister.php
index 1bde9a90e..0d4a26295 100644
--- a/lib/Doctrine/ORM/Persisters/StandardEntityPersister.php
+++ b/lib/Doctrine/ORM/Persisters/StandardEntityPersister.php
@@ -493,8 +493,8 @@ class StandardEntityPersister
if ($found = $this->_em->getUnitOfWork()->tryGetById($joinColumnValues, $targetClass->rootEntityName)) {
$this->_class->reflFields[$field]->setValue($entity, $found);
// Complete inverse side, if necessary.
- if (isset($targetClass->inverseMappings[$this->_class->name][$field])) {
- $inverseAssoc = $targetClass->inverseMappings[$this->_class->name][$field];
+ if ($assoc->inversedBy) {
+ $inverseAssoc = $targetClass->associationMappings[$assoc->inversedBy];
$targetClass->reflFields[$inverseAssoc->sourceFieldName]->setValue($found, $entity);
}
$newData[$field] = $found;
diff --git a/lib/Doctrine/ORM/UnitOfWork.php b/lib/Doctrine/ORM/UnitOfWork.php
index f084640d8..431a2685c 100644
--- a/lib/Doctrine/ORM/UnitOfWork.php
+++ b/lib/Doctrine/ORM/UnitOfWork.php
@@ -1336,12 +1336,12 @@ class UnitOfWork implements PropertyChangedListener
// We need to fetch the managed copy in order to merge.
$managedCopy = $this->_em->find($class->name, $id);
}
-
+
if ($managedCopy === null) {
throw new \InvalidArgumentException('New entity detected during merge.'
. ' Persist the new entity before merging.');
}
-
+
if ($class->isVersioned) {
$managedCopyVersion = $class->reflFields[$class->versionField]->getValue($managedCopy);
$entityVersion = $class->reflFields[$class->versionField]->getValue($entity);
@@ -1350,7 +1350,7 @@ class UnitOfWork implements PropertyChangedListener
throw OptimisticLockException::lockFailed();
}
}
-
+
// Merge state of $entity into existing (managed) entity
foreach ($class->reflFields as $name => $prop) {
if ( ! isset($class->associationMappings[$name])) {
@@ -1359,7 +1359,7 @@ class UnitOfWork implements PropertyChangedListener
$assoc2 = $class->associationMappings[$name];
if ($assoc2->isOneToOne()) {
if ( ! $assoc2->isCascadeMerge) {
- $other = $class->reflFields[$name]->getValue($entity);
+ $other = $class->reflFields[$name]->getValue($entity); //TODO: Just $prop->getValue($entity)?
if ($other !== null) {
$targetClass = $this->_em->getClassMetadata($assoc2->targetEntityName);
$id = $targetClass->getIdentifierValues($other);
diff --git a/tests/Doctrine/Tests/Common/AllTests.php b/tests/Doctrine/Tests/Common/AllTests.php
index 0afc81277..db6e81ffa 100644
--- a/tests/Doctrine/Tests/Common/AllTests.php
+++ b/tests/Doctrine/Tests/Common/AllTests.php
@@ -29,7 +29,6 @@ class AllTests
$suite->addTest(Collections\AllTests::suite());
$suite->addTest(Annotations\AllTests::suite());
$suite->addTest(Cache\AllTests::suite());
- $suite->addTest(CLI\AllTests::suite());
return $suite;
}
diff --git a/tests/Doctrine/Tests/Common/CLI/AllTests.php b/tests/Doctrine/Tests/Common/CLI/AllTests.php
deleted file mode 100644
index 101309fe5..000000000
--- a/tests/Doctrine/Tests/Common/CLI/AllTests.php
+++ /dev/null
@@ -1,34 +0,0 @@
-addTestSuite('Doctrine\Tests\Common\CLI\ConfigurationTest');
- $suite->addTestSuite('Doctrine\Tests\Common\CLI\OptionTest');
- $suite->addTestSuite('Doctrine\Tests\Common\CLI\OptionGroupTest');
- $suite->addTestSuite('Doctrine\Tests\Common\CLI\StyleTest');
- //$suite->addTestSuite('Doctrine\Tests\Common\CLI\CLIControllerTest');
-
- return $suite;
- }
-}
-
-if (PHPUnit_MAIN_METHOD == 'Common_CLI_AllTests::main') {
- AllTests::main();
-}
\ No newline at end of file
diff --git a/tests/Doctrine/Tests/Common/CLI/CLIControllerTest.php b/tests/Doctrine/Tests/Common/CLI/CLIControllerTest.php
deleted file mode 100644
index 60d7214a7..000000000
--- a/tests/Doctrine/Tests/Common/CLI/CLIControllerTest.php
+++ /dev/null
@@ -1,115 +0,0 @@
-
- */
-class CLIControllerTest extends \Doctrine\Tests\DoctrineTestCase
-{
- private $cli;
-
- /**
- * Sets up a CLIController instance with a task referencing the TaskMock
- * class. Instances of that class created by the CLIController can be
- * inspected for correctness.
- */
- function setUp()
- {
- $config = $this->getMock('\Doctrine\Common\CLI\Configuration');
- $printer = $this->getMockForAbstractClass('\Doctrine\Common\CLI\Printers\AbstractPrinter');
-
- $this->cli = new CLIController($config, $printer);
-
- TaskMock::$instances = array();
-
- $this->cli->addTask('task-mock', '\Doctrine\Tests\Mocks\TaskMock');
- }
-
- /**
- * Data provider with a bunch of task-mock calls with different arguments
- * and their expected parsed format.
- */
- static public function dataCLIControllerArguments()
- {
- return array(
- array(
- array('doctrine', 'Core:task-mock', '--bool'),
- array('bool' => true),
- 'Bool option'
- ),
- array(
- array('doctrine', 'Core:task-mock', '--option=value'),
- array('option' => 'value'),
- 'Option with string value'
- ),
- array(
- array('doctrine', 'Core:task-mock', '--option=value, with additional, info'),
- array('option' => 'value, with additional, info'),
- 'Option with string value containing space and comma'
- ),
- array(
- array('doctrine', 'Core:task-mock', '--option='),
- array('option' => array()),
- 'Empty option value'
- ),
- array(
- array('doctrine', 'Core:task-mock', '--option=value1,value2,value3'),
- array('option' => array('value1', 'value2', 'value3')),
- 'Option with list of string values'
- ),
- );
- }
-
- /**
- * Checks whether the arguments coming from the data provider are correctly
- * parsed by the CLIController and passed to the task to be run.
- *
- * @dataProvider dataCLIControllerArguments
- * @param array $rawArgs
- * @param array $parsedArgs
- * @param string $message
- */
- public function testArgumentParsing($rawArgs, $parsedArgs, $message)
- {
- $this->cli->run($rawArgs);
-
- $this->assertEquals(count(TaskMock::$instances), 1);
-
- $task = TaskMock::$instances[0];
-
- $this->assertEquals($task->getArguments(), $parsedArgs, $message);
- }
-
- /**
- * Checks whether multiple tasks in one command are correctly run with
- * their respective options.
- */
- public function testMultipleTaskExecution()
- {
- $this->cli->run(array(
- 'doctrine',
- 'Core:task-mock',
- '--option=',
- 'Core:task-mock',
- '--bool'
- ));
-
- $this->assertEquals(count(TaskMock::$instances), 2);
-
- $task0 = TaskMock::$instances[0];
- $task1 = TaskMock::$instances[1];
-
- $this->assertEquals($task0->getRunCounter(), 1);
- $this->assertEquals($task1->getRunCounter(), 1);
-
- $this->assertEquals($task0->getArguments(), array('option' => array()));
- $this->assertEquals($task1->getArguments(), array('bool' => true));
- }
-}
diff --git a/tests/Doctrine/Tests/Common/CLI/ConfigurationTest.php b/tests/Doctrine/Tests/Common/CLI/ConfigurationTest.php
deleted file mode 100644
index 0d9e9d9b2..000000000
--- a/tests/Doctrine/Tests/Common/CLI/ConfigurationTest.php
+++ /dev/null
@@ -1,23 +0,0 @@
-setAttribute('name', 'value');
-
- $this->assertTrue($config->hasAttribute('name'));
- $this->assertEquals('value', $config->hasAttribute('name'));
-
- $config->setAttribute('name');
-
- $this->assertFalse($config->hasAttribute('name'));
- }
-}
\ No newline at end of file
diff --git a/tests/Doctrine/Tests/Common/CLI/OptionGroupTest.php b/tests/Doctrine/Tests/Common/CLI/OptionGroupTest.php
deleted file mode 100644
index fcd55f9fe..000000000
--- a/tests/Doctrine/Tests/Common/CLI/OptionGroupTest.php
+++ /dev/null
@@ -1,123 +0,0 @@
-_printer = new NormalPrinter();
-
- $this->_options[0] = new Option('name', null, 'First option description');
- $this->_options[1] = new Option('another-name', 'value', 'Second option description');
- $this->_options[2] = new Option('third-name', array('value1', 'value2'), 'Third option description');
- }
-
- public function testCommonFunctionality()
- {
- $optionGroup = new OptionGroup(OptionGroup::CARDINALITY_0_N, $this->_options);
-
- $this->assertEquals(3, count($optionGroup->getOptions()));
-
- $this->assertEquals(
- '--name First option description' . PHP_EOL . PHP_EOL .
- '--another-name=value Second option description' . PHP_EOL . PHP_EOL .
- '--third-name=value1,value2 Third option description' . PHP_EOL . PHP_EOL,
- $optionGroup->formatWithDescription($this->_printer)
- );
-
- $optionGroup->clear();
-
- $this->assertEquals(0, count($optionGroup->getOptions()));
- $this->assertEquals('', $optionGroup->formatPlain($this->_printer));
- $this->assertEquals(
- 'No available options' . PHP_EOL . PHP_EOL,
- $optionGroup->formatWithDescription($this->_printer)
- );
-
- $optionGroup->addOption($this->_options[0]);
- $optionGroup->addOption($this->_options[1]);
-
- $this->assertEquals(2, count($optionGroup->getOptions()));
- }
-
- public function testCardinality0toN()
- {
- $optionGroup = new OptionGroup(OptionGroup::CARDINALITY_0_N, $this->_options);
-
- $this->assertEquals(OptionGroup::CARDINALITY_0_N, $optionGroup->getCardinality());
-
- $this->assertEquals(
- '[--name] [--another-name=value] [--third-name=value1,value2]',
- $optionGroup->formatPlain($this->_printer)
- );
- }
-
- public function testCardinality0to1()
- {
- $optionGroup = new OptionGroup(OptionGroup::CARDINALITY_0_1, $this->_options);
-
- $this->assertEquals(OptionGroup::CARDINALITY_0_1, $optionGroup->getCardinality());
-
- $this->assertEquals(
- '[--name | --another-name=value | --third-name=value1,value2]',
- $optionGroup->formatPlain($this->_printer)
- );
- }
-
- public function testCardinality1to1()
- {
- $optionGroup = new OptionGroup(OptionGroup::CARDINALITY_1_1, $this->_options);
-
- $this->assertEquals(OptionGroup::CARDINALITY_1_1, $optionGroup->getCardinality());
-
- $this->assertEquals(
- '(--name | --another-name=value | --third-name=value1,value2)',
- $optionGroup->formatPlain($this->_printer)
- );
- }
-
- public function testCardinality1toN()
- {
- $optionGroup = new OptionGroup(OptionGroup::CARDINALITY_1_N, $this->_options);
-
- $this->assertEquals(OptionGroup::CARDINALITY_1_N, $optionGroup->getCardinality());
-
- $this->assertEquals(
- '(--name --another-name=value --third-name=value1,value2)',
- $optionGroup->formatPlain($this->_printer)
- );
- }
-
- public function testCardinalityNtoN()
- {
- $optionGroup = new OptionGroup(OptionGroup::CARDINALITY_N_N, $this->_options);
-
- $this->assertEquals(OptionGroup::CARDINALITY_N_N, $optionGroup->getCardinality());
-
- $this->assertEquals(
- '--name --another-name=value --third-name=value1,value2',
- $optionGroup->formatPlain($this->_printer)
- );
- }
-
- public function testCardinalityMtoN()
- {
- $optionGroup = new OptionGroup(OptionGroup::CARDINALITY_M_N, $this->_options);
-
- $this->assertEquals(OptionGroup::CARDINALITY_M_N, $optionGroup->getCardinality());
-
- $this->assertEquals(
- '--name --another-name=value --third-name=value1,value2',
- $optionGroup->formatPlain($this->_printer)
- );
- }
-}
\ No newline at end of file
diff --git a/tests/Doctrine/Tests/Common/CLI/OptionTest.php b/tests/Doctrine/Tests/Common/CLI/OptionTest.php
deleted file mode 100644
index d6f68a928..000000000
--- a/tests/Doctrine/Tests/Common/CLI/OptionTest.php
+++ /dev/null
@@ -1,40 +0,0 @@
-assertEquals('name', $option->getName());
- $this->assertEquals('value', $option->getDefaultValue());
- $this->assertEquals('Description', $option->getDescription());
- }
-
- public function testStringCastWithDefaultValue()
- {
- $option = new Option('name', 'value', 'Description');
-
- $this->assertEquals('--name=value', (string) $option);
- }
-
- public function testStringCastWithoutDefaultValue()
- {
- $option = new Option('name', null, 'Description');
-
- $this->assertEquals('--name', (string) $option);
- }
-
- public function testStringCastWithArrayDefaultValue()
- {
- $option = new Option('name', array('value1', 'value2'), 'Description');
-
- $this->assertEquals('--name=value1,value2', (string) $option);
- }
-}
\ No newline at end of file
diff --git a/tests/Doctrine/Tests/Common/CLI/StyleTest.php b/tests/Doctrine/Tests/Common/CLI/StyleTest.php
deleted file mode 100644
index cdc956b5a..000000000
--- a/tests/Doctrine/Tests/Common/CLI/StyleTest.php
+++ /dev/null
@@ -1,19 +0,0 @@
- true));
-
- $this->assertEquals('BLACK', $style->getForeground());
- $this->assertEquals('WHITE', $style->getBackground());
- $this->assertEquals(array('BOLD' => true), $style->getOptions());
- }
-}
\ No newline at end of file
diff --git a/tests/Doctrine/Tests/Models/CMS/CmsAddress.php b/tests/Doctrine/Tests/Models/CMS/CmsAddress.php
index 746697d32..32af0fd85 100644
--- a/tests/Doctrine/Tests/Models/CMS/CmsAddress.php
+++ b/tests/Doctrine/Tests/Models/CMS/CmsAddress.php
@@ -13,23 +13,22 @@ class CmsAddress
{
/**
* @Column(type="integer")
- * @Id
- * @GeneratedValue(strategy="AUTO")
+ * @Id @GeneratedValue
*/
public $id;
/**
- * @Column(type="string", length=50)
+ * @Column(length=50)
*/
public $country;
/**
- * @Column(type="string", length=50)
+ * @Column(length=50)
*/
public $zip;
/**
- * @Column(type="string", length=50)
+ * @Column(length=50)
*/
public $city;
@@ -39,8 +38,7 @@ class CmsAddress
public $street;
/**
- * @OneToOne(targetEntity="CmsUser")
-// * @JoinColumn(name="user_id", referencedColumnName="id")
+ * @OneToOne(targetEntity="CmsUser", inversedBy="address")
*/
public $user;
diff --git a/tests/Doctrine/Tests/Models/CMS/CmsArticle.php b/tests/Doctrine/Tests/Models/CMS/CmsArticle.php
index 53c49540c..1d7901557 100644
--- a/tests/Doctrine/Tests/Models/CMS/CmsArticle.php
+++ b/tests/Doctrine/Tests/Models/CMS/CmsArticle.php
@@ -23,7 +23,7 @@ class CmsArticle
*/
public $text;
/**
- * @ManyToOne(targetEntity="CmsUser")
+ * @ManyToOne(targetEntity="CmsUser", inversedBy="articles")
* @JoinColumn(name="user_id", referencedColumnName="id")
*/
public $user;
diff --git a/tests/Doctrine/Tests/Models/CMS/CmsComment.php b/tests/Doctrine/Tests/Models/CMS/CmsComment.php
index c1991474f..a40940bca 100644
--- a/tests/Doctrine/Tests/Models/CMS/CmsComment.php
+++ b/tests/Doctrine/Tests/Models/CMS/CmsComment.php
@@ -23,7 +23,7 @@ class CmsComment
*/
public $text;
/**
- * @ManyToOne(targetEntity="CmsArticle")
+ * @ManyToOne(targetEntity="CmsArticle", inversedBy="comments")
* @JoinColumn(name="article_id", referencedColumnName="id")
*/
public $article;
diff --git a/tests/Doctrine/Tests/Models/CMS/CmsEmployee.php b/tests/Doctrine/Tests/Models/CMS/CmsEmployee.php
index 9acdbc6f4..c1697150f 100644
--- a/tests/Doctrine/Tests/Models/CMS/CmsEmployee.php
+++ b/tests/Doctrine/Tests/Models/CMS/CmsEmployee.php
@@ -14,12 +14,12 @@ class CmsEmployee
/**
* @Id
* @Column(type="integer")
- * @GeneratedValue(strategy="AUTO")
+ * @GeneratedValue
*/
private $id;
/**
- * @Column(type="string")
+ * @Column
*/
private $name;
diff --git a/tests/Doctrine/Tests/Models/CMS/CmsGroup.php b/tests/Doctrine/Tests/Models/CMS/CmsGroup.php
index 3bdfcba1f..ad399ba18 100644
--- a/tests/Doctrine/Tests/Models/CMS/CmsGroup.php
+++ b/tests/Doctrine/Tests/Models/CMS/CmsGroup.php
@@ -18,11 +18,11 @@ class CmsGroup
/**
* @Id
* @Column(type="integer")
- * @GeneratedValue(strategy="AUTO")
+ * @GeneratedValue
*/
public $id;
/**
- * @Column(type="string", length=50)
+ * @Column(length=50)
*/
public $name;
/**
diff --git a/tests/Doctrine/Tests/Models/CMS/CmsPhonenumber.php b/tests/Doctrine/Tests/Models/CMS/CmsPhonenumber.php
index 39fd7b8f3..431b8c8ae 100644
--- a/tests/Doctrine/Tests/Models/CMS/CmsPhonenumber.php
+++ b/tests/Doctrine/Tests/Models/CMS/CmsPhonenumber.php
@@ -9,11 +9,11 @@ namespace Doctrine\Tests\Models\CMS;
class CmsPhonenumber
{
/**
- * @Id @Column(type="string", length=50)
+ * @Id @Column(length=50)
*/
public $phonenumber;
/**
- * @ManyToOne(targetEntity="CmsUser")
+ * @ManyToOne(targetEntity="CmsUser", inversedBy="phonenumbers")
* @JoinColumn(name="user_id", referencedColumnName="id")
*/
public $user;
diff --git a/tests/Doctrine/Tests/Models/CMS/CmsUser.php b/tests/Doctrine/Tests/Models/CMS/CmsUser.php
index 148fa6674..d7f0727c0 100644
--- a/tests/Doctrine/Tests/Models/CMS/CmsUser.php
+++ b/tests/Doctrine/Tests/Models/CMS/CmsUser.php
@@ -40,7 +40,7 @@ class CmsUser
*/
public $address;
/**
- * @ManyToMany(targetEntity="CmsGroup", cascade={"persist"})
+ * @ManyToMany(targetEntity="CmsGroup", inversedBy="users", cascade={"persist"})
* @JoinTable(name="cms_users_groups",
* joinColumns={@JoinColumn(name="user_id", referencedColumnName="id")},
* inverseJoinColumns={@JoinColumn(name="group_id", referencedColumnName="id")}
diff --git a/tests/Doctrine/Tests/Models/Company/CompanyEvent.php b/tests/Doctrine/Tests/Models/Company/CompanyEvent.php
index 12252a7d1..f0bb730cf 100644
--- a/tests/Doctrine/Tests/Models/Company/CompanyEvent.php
+++ b/tests/Doctrine/Tests/Models/Company/CompanyEvent.php
@@ -11,12 +11,12 @@ namespace Doctrine\Tests\Models\Company;
class CompanyEvent {
/**
* @Id @Column(type="integer")
- * @GeneratedValue(strategy="AUTO")
+ * @GeneratedValue
*/
private $id;
/**
- * @ManyToOne(targetEntity="CompanyOrganization",cascade={"persist"})
+ * @ManyToOne(targetEntity="CompanyOrganization", inversedBy="events", cascade={"persist"})
* @JoinColumn(name="org_id", referencedColumnName="id")
*/
private $organization;
diff --git a/tests/Doctrine/Tests/Models/Company/CompanyPerson.php b/tests/Doctrine/Tests/Models/Company/CompanyPerson.php
index c38dc7428..740c323ef 100644
--- a/tests/Doctrine/Tests/Models/Company/CompanyPerson.php
+++ b/tests/Doctrine/Tests/Models/Company/CompanyPerson.php
@@ -20,11 +20,11 @@ class CompanyPerson
/**
* @Id
* @Column(type="integer")
- * @GeneratedValue(strategy="AUTO")
+ * @GeneratedValue
*/
private $id;
/**
- * @Column(type="string")
+ * @Column
*/
private $name;
/**
diff --git a/tests/Doctrine/Tests/Models/Company/CompanyRaffle.php b/tests/Doctrine/Tests/Models/Company/CompanyRaffle.php
index a7d123c84..3d05996f2 100644
--- a/tests/Doctrine/Tests/Models/Company/CompanyRaffle.php
+++ b/tests/Doctrine/Tests/Models/Company/CompanyRaffle.php
@@ -4,7 +4,7 @@ namespace Doctrine\Tests\Models\Company;
/** @Entity @Table(name="company_raffles") */
class CompanyRaffle extends CompanyEvent {
- /** @Column(type="string") */
+ /** @Column */
private $data;
public function setData($data) {
diff --git a/tests/Doctrine/Tests/Models/ECommerce/ECommerceCart.php b/tests/Doctrine/Tests/Models/ECommerce/ECommerceCart.php
index 8fac69be0..d68b37056 100644
--- a/tests/Doctrine/Tests/Models/ECommerce/ECommerceCart.php
+++ b/tests/Doctrine/Tests/Models/ECommerce/ECommerceCart.php
@@ -17,17 +17,17 @@ class ECommerceCart
/**
* @Column(type="integer")
* @Id
- * @GeneratedValue(strategy="AUTO")
+ * @GeneratedValue
*/
private $id;
/**
- * @Column(type="string", length=50, nullable=true)
+ * @Column(length=50, nullable=true)
*/
private $payment;
/**
- * @OneToOne(targetEntity="ECommerceCustomer")
+ * @OneToOne(targetEntity="ECommerceCustomer", inversedBy="cart")
* @JoinColumn(name="customer_id", referencedColumnName="id")
*/
private $customer;
diff --git a/tests/Doctrine/Tests/Models/ECommerce/ECommerceCategory.php b/tests/Doctrine/Tests/Models/ECommerce/ECommerceCategory.php
index d79c1a298..ea2ade09d 100644
--- a/tests/Doctrine/Tests/Models/ECommerce/ECommerceCategory.php
+++ b/tests/Doctrine/Tests/Models/ECommerce/ECommerceCategory.php
@@ -36,7 +36,7 @@ class ECommerceCategory
private $children;
/**
- * @ManyToOne(targetEntity="ECommerceCategory")
+ * @ManyToOne(targetEntity="ECommerceCategory", inversedBy="children")
* @JoinColumn(name="parent_id", referencedColumnName="id")
*/
private $parent;
diff --git a/tests/Doctrine/Tests/Models/ECommerce/ECommerceFeature.php b/tests/Doctrine/Tests/Models/ECommerce/ECommerceFeature.php
index 901e7c1e9..8f6cdd983 100644
--- a/tests/Doctrine/Tests/Models/ECommerce/ECommerceFeature.php
+++ b/tests/Doctrine/Tests/Models/ECommerce/ECommerceFeature.php
@@ -14,17 +14,17 @@ class ECommerceFeature
/**
* @Column(type="integer")
* @Id
- * @GeneratedValue(strategy="AUTO")
+ * @GeneratedValue
*/
private $id;
/**
- * @Column(type="string", length=50)
+ * @Column(length=50)
*/
private $description;
/**
- * @ManyToOne(targetEntity="ECommerceProduct")
+ * @ManyToOne(targetEntity="ECommerceProduct", inversedBy="features")
* @JoinColumn(name="product_id", referencedColumnName="id")
*/
private $product;
diff --git a/tests/Doctrine/Tests/Models/ECommerce/ECommerceProduct.php b/tests/Doctrine/Tests/Models/ECommerce/ECommerceProduct.php
index 40fe67bd8..4851778e2 100644
--- a/tests/Doctrine/Tests/Models/ECommerce/ECommerceProduct.php
+++ b/tests/Doctrine/Tests/Models/ECommerce/ECommerceProduct.php
@@ -10,14 +10,14 @@ use Doctrine\Common\Collections\ArrayCollection;
*
* @author Giorgio Sironi
* @Entity
- * @Table(name="ecommerce_products",indexes={@index(name="name_idx", columns={"name"})})
+ * @Table(name="ecommerce_products",indexes={@Index(name="name_idx", columns={"name"})})
*/
class ECommerceProduct
{
/**
* @Column(type="integer")
* @Id
- * @GeneratedValue(strategy="AUTO")
+ * @GeneratedValue
*/
private $id;
@@ -38,7 +38,7 @@ class ECommerceProduct
private $features;
/**
- * @ManyToMany(targetEntity="ECommerceCategory", cascade={"persist"})
+ * @ManyToMany(targetEntity="ECommerceCategory", cascade={"persist"}, inversedBy="products")
* @JoinTable(name="ecommerce_products_categories",
* joinColumns={@JoinColumn(name="product_id", referencedColumnName="id")},
* inverseJoinColumns={@JoinColumn(name="category_id", referencedColumnName="id")})
@@ -50,8 +50,8 @@ class ECommerceProduct
* simplicity.
* @ManyToMany(targetEntity="ECommerceProduct", cascade={"persist"})
* @JoinTable(name="ecommerce_products_related",
- joinColumns={@JoinColumn(name="product_id", referencedColumnName="id")},
- inverseJoinColumns={@JoinColumn(name="related_id", referencedColumnName="id")})
+ * joinColumns={@JoinColumn(name="product_id", referencedColumnName="id")},
+ * inverseJoinColumns={@JoinColumn(name="related_id", referencedColumnName="id")})
*/
private $related;
diff --git a/tests/Doctrine/Tests/Models/ECommerce/ECommerceShipping.php b/tests/Doctrine/Tests/Models/ECommerce/ECommerceShipping.php
index b1ee90a53..a0f302cc2 100644
--- a/tests/Doctrine/Tests/Models/ECommerce/ECommerceShipping.php
+++ b/tests/Doctrine/Tests/Models/ECommerce/ECommerceShipping.php
@@ -14,7 +14,7 @@ class ECommerceShipping
{
/**
* @Id @Column(type="integer")
- * @GeneratedValue(strategy="AUTO")
+ * @GeneratedValue
*/
private $id;
diff --git a/tests/Doctrine/Tests/Models/Forum/ForumBoard.php b/tests/Doctrine/Tests/Models/Forum/ForumBoard.php
index 6496dd9a1..707d36309 100644
--- a/tests/Doctrine/Tests/Models/Forum/ForumBoard.php
+++ b/tests/Doctrine/Tests/Models/Forum/ForumBoard.php
@@ -21,7 +21,7 @@ class ForumBoard
*/
public $position;
/**
- * @ManyToOne(targetEntity="ForumCategory")
+ * @ManyToOne(targetEntity="ForumCategory", inversedBy="boards")
* @JoinColumn(name="category_id", referencedColumnName="id")
*/
public $category;
diff --git a/tests/Doctrine/Tests/Models/Forum/ForumUser.php b/tests/Doctrine/Tests/Models/Forum/ForumUser.php
index fedf10955..e27623160 100644
--- a/tests/Doctrine/Tests/Models/Forum/ForumUser.php
+++ b/tests/Doctrine/Tests/Models/Forum/ForumUser.php
@@ -10,8 +10,7 @@ class ForumUser
{
/**
* @Column(type="integer")
- * @Id
- * @GeneratedValue(strategy="AUTO")
+ * @Id @GeneratedValue
*/
public $id;
/**
diff --git a/tests/Doctrine/Tests/Models/Generic/DateTimeModel.php b/tests/Doctrine/Tests/Models/Generic/DateTimeModel.php
index 365268a54..0733245ff 100644
--- a/tests/Doctrine/Tests/Models/Generic/DateTimeModel.php
+++ b/tests/Doctrine/Tests/Models/Generic/DateTimeModel.php
@@ -10,7 +10,7 @@ class DateTimeModel
{
/**
* @Id @Column(type="integer")
- * @GeneratedValue(strategy="AUTO")
+ * @GeneratedValue
*/
public $id;
/**
diff --git a/tests/Doctrine/Tests/Models/Routing/RoutingLeg.php b/tests/Doctrine/Tests/Models/Routing/RoutingLeg.php
index 64564d3ef..a130e7b0c 100644
--- a/tests/Doctrine/Tests/Models/Routing/RoutingLeg.php
+++ b/tests/Doctrine/Tests/Models/Routing/RoutingLeg.php
@@ -8,20 +8,19 @@ namespace Doctrine\Tests\Models\Routing;
class RoutingLeg
{
/**
- * @Id
- * @generatedValue(strategy="AUTO")
+ * @Id @generatedValue
* @column(type="integer")
*/
public $id;
/**
- * @ManyToOne(targetEntity="Doctrine\Tests\Models\Routing\RoutingLocation")
+ * @ManyToOne(targetEntity="RoutingLocation")
* @JoinColumn(name="from_id", referencedColumnName="id")
*/
public $fromLocation;
/**
- * @ManyToOne(targetEntity="Doctrine\Tests\Models\Routing\RoutingLocation")
+ * @ManyToOne(targetEntity="RoutingLocation")
* @JoinColumn(name="to_id", referencedColumnName="id")
*/
public $toLocation;
diff --git a/tests/Doctrine/Tests/Models/Routing/RoutingLocation.php b/tests/Doctrine/Tests/Models/Routing/RoutingLocation.php
index 2a04275e8..ea1ba55f7 100644
--- a/tests/Doctrine/Tests/Models/Routing/RoutingLocation.php
+++ b/tests/Doctrine/Tests/Models/Routing/RoutingLocation.php
@@ -8,8 +8,7 @@ namespace Doctrine\Tests\Models\Routing;
class RoutingLocation
{
/**
- * @Id
- * @generatedValue(strategy="AUTO")
+ * @Id @GeneratedValue
* @Column(type="integer")
*/
public $id;
diff --git a/tests/Doctrine/Tests/Models/Routing/RoutingRoute.php b/tests/Doctrine/Tests/Models/Routing/RoutingRoute.php
index 0f0f671c1..9e5d5d02e 100644
--- a/tests/Doctrine/Tests/Models/Routing/RoutingRoute.php
+++ b/tests/Doctrine/Tests/Models/Routing/RoutingRoute.php
@@ -11,7 +11,7 @@ class RoutingRoute
{
/**
* @Id
- * @generatedValue(strategy="AUTO")
+ * @GeneratedValue
* @column(type="integer")
*/
public $id;
diff --git a/tests/Doctrine/Tests/Models/Routing/RoutingRouteBooking.php b/tests/Doctrine/Tests/Models/Routing/RoutingRouteBooking.php
index ea2f31f60..9b862fc39 100644
--- a/tests/Doctrine/Tests/Models/Routing/RoutingRouteBooking.php
+++ b/tests/Doctrine/Tests/Models/Routing/RoutingRouteBooking.php
@@ -10,12 +10,12 @@ class RoutingRouteBooking
/**
* @Id
* @Column(type="integer")
- * @generatedValue(strategy="AUTO")
+ * @GeneratedValue
*/
public $id;
/**
- * @ManyToOne(targetEntity="RoutingRoute")
+ * @ManyToOne(targetEntity="RoutingRoute", inversedBy="bookings")
* @JoinColumn(name="route_id", referencedColumnName="id")
*/
public $route;
diff --git a/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC144Test.php b/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC144Test.php
index 6c248676b..9b493e7da 100644
--- a/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC144Test.php
+++ b/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC144Test.php
@@ -43,21 +43,21 @@ class DDC144Test extends \Doctrine\Tests\OrmFunctionalTestCase
*/
class DDC144FlowElement {
/**
- * @Id @Column(type="integer") @GeneratedValue(strategy="AUTO")
+ * @Id @Column(type="integer") @GeneratedValue
* @var integer
*/
public $id;
- /** @Column(type="string") */
+ /** @Column */
public $property;
}
-// /** @Entity @Table(name="ddc144_expressions") */
abstract class DDC144Expression extends DDC144FlowElement {
abstract function method();
}
+
/** @Entity @Table(name="ddc144_operands") */
class DDC144Operand extends DDC144Expression {
- /** @Column(type="string") */
+ /** @Column */
public $operandProperty;
function method() {}
}
diff --git a/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC199Test.php b/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC199Test.php
index 08ed3ef94..e912c389f 100644
--- a/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC199Test.php
+++ b/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC199Test.php
@@ -79,7 +79,7 @@ class DDC199ParentClass
class DDC199ChildClass extends DDC199ParentClass
{
/**
- * @Column(type="string")
+ * @Column
*/
public $childData;
}
@@ -87,13 +87,13 @@ class DDC199ChildClass extends DDC199ParentClass
/** @Entity @Table(name="ddc199_relatedclass") */
class DDC199RelatedClass
{
- /** @Id @Column(type="integer") @GeneratedValue(strategy="AUTO") */
+ /** @Id @Column(type="integer") @GeneratedValue */
public $id;
- /** @Column(type="string") */
+ /** @Column */
public $relatedData;
/**
- * @ManyToOne(targetEntity="DDC199ParentClass")
+ * @ManyToOne(targetEntity="DDC199ParentClass", inversedBy="relatedEntities")
* @JoinColumn(name="parent_id", referencedColumnName="id")
*/
public $parent;
diff --git a/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC211Test.php b/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC211Test.php
index 56a3ddcc8..27abee236 100644
--- a/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC211Test.php
+++ b/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC211Test.php
@@ -65,7 +65,7 @@ class DDC211User
protected $name;
/**
- * @ManyToMany(targetEntity="DDC211Group")
+ * @ManyToMany(targetEntity="DDC211Group", inversedBy="users")
* @JoinTable(name="user_groups",
* joinColumns={@JoinColumn(name="user_id", referencedColumnName="id")},
* inverseJoinColumns={@JoinColumn(name="group_id", referencedColumnName="id")}
diff --git a/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC237Test.php b/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC237Test.php
index 877b3b861..6dc23c895 100644
--- a/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC237Test.php
+++ b/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC237Test.php
@@ -68,7 +68,7 @@ class DDC237Test extends \Doctrine\Tests\OrmFunctionalTestCase
class DDC237EntityX
{
/**
- * @Id @Column(type="integer") @GeneratedValue(strategy="AUTO")
+ * @Id @Column(type="integer") @GeneratedValue
*/
public $id;
/**
@@ -87,7 +87,7 @@ class DDC237EntityX
class DDC237EntityY
{
/**
- * @Id @Column(type="integer") @GeneratedValue(strategy="AUTO")
+ * @Id @Column(type="integer") @GeneratedValue
*/
public $id;
/**
@@ -99,7 +99,7 @@ class DDC237EntityY
/** @Entity @Table(name="ddc237_z") */
class DDC237EntityZ
{
- /** @Id @Column(type="integer") @GeneratedValue(strategy="AUTO") */
+ /** @Id @Column(type="integer") @GeneratedValue */
public $id;
/** @Column(type="string") */
public $data;
diff --git a/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC279Test.php b/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC279Test.php
index e3d4d1949..50bc5ec1a 100644
--- a/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC279Test.php
+++ b/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC279Test.php
@@ -68,7 +68,7 @@ abstract class DDC279EntityXAbstract
{
/**
* @Id
- * @generatedValue(strategy="AUTO")
+ * @GeneratedValue
* @Column(name="id", type="integer")
*/
public $id;
@@ -98,8 +98,7 @@ class DDC279EntityX extends DDC279EntityXAbstract
class DDC279EntityY
{
/**
- * @Id
- * @generatedValue(strategy="AUTO")
+ * @Id @GeneratedValue
* @Column(name="id", type="integer")
*/
public $id;
@@ -122,8 +121,7 @@ class DDC279EntityY
class DDC279EntityZ
{
/**
- * @Id
- * @generatedValue(strategy="AUTO")
+ * @Id @GeneratedValue
* @Column(name="id", type="integer")
*/
public $id;
diff --git a/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC309Test.php b/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC309Test.php
index 728e11d25..325ce8d75 100644
--- a/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC309Test.php
+++ b/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC309Test.php
@@ -54,7 +54,7 @@ class DDC309Country
/**
* @Id
* @Column(name="id", type="integer")
- * @GeneratedValue(strategy="AUTO")
+ * @GeneratedValue
*/
public $id;
}
@@ -67,7 +67,7 @@ class DDC309User
/**
* @Id
* @Column(name="id", type="integer")
- * @GeneratedValue(strategy="AUTO")
+ * @GeneratedValue
*/
public $id;
}
diff --git a/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC345Test.php b/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC345Test.php
index 6ae373229..63a084c87 100644
--- a/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC345Test.php
+++ b/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC345Test.php
@@ -118,13 +118,13 @@ class DDC345Membership
public $id;
/**
- * @OneToOne(targetEntity="DDC345User")
+ * @OneToOne(targetEntity="DDC345User", inversedBy="Memberships")
* @JoinColumn(name="user_id", referencedColumnName="id", nullable=false)
*/
public $user;
/**
- * @OneToOne(targetEntity="DDC345Group")
+ * @OneToOne(targetEntity="DDC345Group", inversedBy="Memberships")
* @JoinColumn(name="group_id", referencedColumnName="id", nullable=false)
*/
public $group;
diff --git a/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC353Test.php b/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC353Test.php
index 8d645121d..5091cd44c 100644
--- a/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC353Test.php
+++ b/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC353Test.php
@@ -78,8 +78,7 @@ class DDC353Picture
{
/**
* @Column(name="picture_id", type="integer")
- * @Id
- * @GeneratedValue(strategy="AUTO")
+ * @Id @GeneratedValue
*/
private $pictureId;
diff --git a/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC371Test.php b/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC371Test.php
index 8f18a1fc6..399e35c34 100644
--- a/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC371Test.php
+++ b/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC371Test.php
@@ -53,7 +53,7 @@ class DDC371Child {
private $id;
/** @Column(type="string") */
public $data;
- /** @ManyToOne(targetEntity="DDC371Parent") @JoinColumn(name="parentId") */
+ /** @ManyToOne(targetEntity="DDC371Parent", inversedBy="children") @JoinColumn(name="parentId") */
public $parent;
}
diff --git a/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC381Test.php b/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC381Test.php
index a088ba8cf..c25a8aa75 100644
--- a/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC381Test.php
+++ b/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC381Test.php
@@ -47,7 +47,7 @@ class DDC381Test extends \Doctrine\Tests\OrmFunctionalTestCase
class DDC381Entity
{
/**
- * @Id @Column(type="integer") @generatedValue
+ * @Id @Column(type="integer") @GeneratedValue
*/
protected $id;
diff --git a/tests/Doctrine/Tests/ORM/Functional/Ticket/Ticket69.php b/tests/Doctrine/Tests/ORM/Functional/Ticket/Ticket69.php
index 8b59b4bf3..f6ef6c3bf 100644
--- a/tests/Doctrine/Tests/ORM/Functional/Ticket/Ticket69.php
+++ b/tests/Doctrine/Tests/ORM/Functional/Ticket/Ticket69.php
@@ -212,7 +212,7 @@ class Relation {
/**
* @var Lemma
- * @ManyToOne(targetEntity="Lemma")
+ * @ManyToOne(targetEntity="Lemma", inversedBy="relations")
* @JoinColumn(name="relation_parent_id", referencedColumnName="lemma_id")
*/
private $parent;
@@ -226,7 +226,7 @@ class Relation {
/**
* @var RelationType
- * @ManyToOne(targetEntity="RelationType")
+ * @ManyToOne(targetEntity="RelationType", inversedBy="relations")
* @JoinColumn(name="relation_type_id", referencedColumnName="relation_type_id")
*/
private $type;
diff --git a/tests/Doctrine/Tests/ORM/Mapping/AbstractMappingDriverTest.php b/tests/Doctrine/Tests/ORM/Mapping/AbstractMappingDriverTest.php
index 9e03211a6..8b29c6bad 100644
--- a/tests/Doctrine/Tests/ORM/Mapping/AbstractMappingDriverTest.php
+++ b/tests/Doctrine/Tests/ORM/Mapping/AbstractMappingDriverTest.php
@@ -73,7 +73,6 @@ abstract class AbstractMappingDriverTest extends \Doctrine\Tests\OrmTestCase
public function testAssocations($class)
{
$this->assertEquals(3, count($class->associationMappings));
- $this->assertEquals(1, count($class->inverseMappings));
return $class;
}
@@ -87,6 +86,7 @@ abstract class AbstractMappingDriverTest extends \Doctrine\Tests\OrmTestCase
$this->assertTrue($class->associationMappings['address'] instanceof \Doctrine\ORM\Mapping\OneToOneMapping);
$this->assertTrue(isset($class->associationMappings['address']));
$this->assertTrue($class->associationMappings['address']->isOwningSide);
+ $this->assertEquals('user', $class->associationMappings['address']->inversedBy);
// Check cascading
$this->assertTrue($class->associationMappings['address']->isCascadeRemove);
$this->assertFalse($class->associationMappings['address']->isCascadePersist);
@@ -223,13 +223,12 @@ class User
public $email;
/**
- * @OneToOne(targetEntity="Address", cascade={"remove"})
+ * @OneToOne(targetEntity="Address", cascade={"remove"}, inversedBy="user")
* @JoinColumn(onDelete="CASCADE", onUpdate="CASCADE")
*/
public $address;
/**
- *
* @OneToMany(targetEntity="Phonenumber", mappedBy="user", cascade={"persist"})
* @OrderBy({"number"="ASC"})
*/
diff --git a/tests/Doctrine/Tests/ORM/Mapping/ClassMetadataTest.php b/tests/Doctrine/Tests/ORM/Mapping/ClassMetadataTest.php
index 11fb49948..dcc6b8210 100644
--- a/tests/Doctrine/Tests/ORM/Mapping/ClassMetadataTest.php
+++ b/tests/Doctrine/Tests/ORM/Mapping/ClassMetadataTest.php
@@ -100,8 +100,8 @@ class ClassMetadataTest extends \Doctrine\Tests\OrmTestCase
$this->assertTrue($assoc instanceof \Doctrine\ORM\Mapping\ManyToManyMapping);
$this->assertEquals(array(
'name' => 'CmsUser_CmsGroup',
- 'joinColumns' => array(array('name' => 'CmsUser_id', 'referencedColumnName' => 'id')),
- 'inverseJoinColumns' => array(array('name' => 'CmsGroup_id', 'referencedColumnName' => 'id'))
+ 'joinColumns' => array(array('name' => 'CmsUser_id', 'referencedColumnName' => 'id', 'onDelete' => 'CASCADE')),
+ 'inverseJoinColumns' => array(array('name' => 'CmsGroup_id', 'referencedColumnName' => 'id', 'onDelete' => 'CASCADE'))
), $assoc->joinTable);
}
diff --git a/tests/Doctrine/Tests/ORM/Mapping/php/Doctrine.Tests.ORM.Mapping.User.php b/tests/Doctrine/Tests/ORM/Mapping/php/Doctrine.Tests.ORM.Mapping.User.php
index 7bd7fcaf4..e2a057f14 100644
--- a/tests/Doctrine/Tests/ORM/Mapping/php/Doctrine.Tests.ORM.Mapping.User.php
+++ b/tests/Doctrine/Tests/ORM/Mapping/php/Doctrine.Tests.ORM.Mapping.User.php
@@ -39,6 +39,7 @@ $metadata->mapOneToOne(array(
0 => 'remove',
),
'mappedBy' => NULL,
+ 'inversedBy' => 'user',
'joinColumns' =>
array(
0 =>
diff --git a/tests/Doctrine/Tests/ORM/Mapping/xml/Doctrine.Tests.ORM.Mapping.User.dcm.xml b/tests/Doctrine/Tests/ORM/Mapping/xml/Doctrine.Tests.ORM.Mapping.User.dcm.xml
index 776185a28..65b71f04c 100644
--- a/tests/Doctrine/Tests/ORM/Mapping/xml/Doctrine.Tests.ORM.Mapping.User.dcm.xml
+++ b/tests/Doctrine/Tests/ORM/Mapping/xml/Doctrine.Tests.ORM.Mapping.User.dcm.xml
@@ -20,7 +20,7 @@
-
+
diff --git a/tests/Doctrine/Tests/ORM/Mapping/yaml/Doctrine.Tests.ORM.Mapping.User.dcm.yml b/tests/Doctrine/Tests/ORM/Mapping/yaml/Doctrine.Tests.ORM.Mapping.User.dcm.yml
index 5e239da3f..3cf687169 100644
--- a/tests/Doctrine/Tests/ORM/Mapping/yaml/Doctrine.Tests.ORM.Mapping.User.dcm.yml
+++ b/tests/Doctrine/Tests/ORM/Mapping/yaml/Doctrine.Tests.ORM.Mapping.User.dcm.yml
@@ -19,6 +19,7 @@ Doctrine\Tests\ORM\Mapping\User:
oneToOne:
address:
targetEntity: Address
+ inversedBy: user
joinColumn:
name: address_id
referencedColumnName: id
diff --git a/tests/Doctrine/Tests/TestInit.php b/tests/Doctrine/Tests/TestInit.php
index c6b0e29f8..1c7bea434 100644
--- a/tests/Doctrine/Tests/TestInit.php
+++ b/tests/Doctrine/Tests/TestInit.php
@@ -13,6 +13,9 @@ require_once __DIR__ . '/../../../lib/Doctrine/Common/ClassLoader.php';
$classLoader = new \Doctrine\Common\ClassLoader('Doctrine');
$classLoader->register();
+$classLoader = new \Doctrine\Common\ClassLoader('Symfony', __DIR__ . "/../../../lib/vendor");
+$classLoader->register();
+
if (!file_exists(__DIR__."/Proxies")) {
if (!mkdir(__DIR__."/Proxies")) {
throw new Exception("Could not create " . __DIR__."/Proxies Folder.");
@@ -24,15 +27,6 @@ if (!file_exists(__DIR__."/ORM/Proxy/generated")) {
}
}
-spl_autoload_register(function($class) {
- if (strpos($class, 'Symfony') === 0) {
- $file = str_replace("\\", "/", $class);
- if (@fopen($class, "r")) {
- require_once ($file);
- }
- }
-});
-
set_include_path(
__DIR__ . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'lib'
. PATH_SEPARATOR .