Compare commits

...

27 Commits

Author SHA1 Message Date
Alexander M. Turek
8291a7f09b Allow doctrine/deprecations 1.0 (#9723) 2022-05-02 21:10:07 +02:00
Grégoire Paris
26e274e373 Merge pull request #9708 from michnovka/2.12.x-fix-psalm-repository 2022-05-02 15:26:47 +02:00
Alexander M. Turek
5209184a60 Psalm 4.23, PHPStan 1.6.3 (#9718) 2022-05-02 11:07:33 +02:00
Sergei Morozov
23f54885bc Merge pull request #9706 from morozov/cleanup-test-entity-manager
Remove unused OrmTestCase::getTestEntityManager() parameters
2022-05-01 11:43:07 -07:00
Sergei Morozov
7f29b576d8 Remove some ConnectionMock methods (#9707) 2022-05-01 17:52:10 +02:00
Tomas
a8425a5248 Fix psalm annotation 2022-05-01 16:40:44 +02:00
Pierre B
86ce0e5e35 Update ClassMetadataInfo::table definition (#9703)
Everything except the name key might be undefined when accessing to this public property, for instance in a LoadMetadataEvent

Co-authored-by: Pierre Bourdet <pbourdet@worldia.com>
2022-05-01 09:40:00 +02:00
Sergei Morozov
39fd5f4d46 Remove unused OrmTestCase::getTestEntityManager() parameters 2022-04-30 12:35:05 -07:00
Thomas Landauer
a9309d748b Add missing use statement (#9699) 2022-04-30 08:04:44 +02:00
Grégoire Paris
fe09af6df1 Merge pull request #9701 from doctrine/2.11.x
2.11.x
2022-04-29 22:45:58 +02:00
Grégoire Paris
ed50e3d967 Merge pull request #9698 from ThomasLandauer/patch-8 2022-04-29 16:33:49 +02:00
Thomas Landauer
1d59e46245 use valid link syntax 2022-04-29 16:25:10 +02:00
Grégoire Paris
a0a0b0e476 Merge pull request #9692 from greg0ire/reference-cmi-even-less
Use ClassMetadata over ClassMetadataInfo in tests
2022-04-28 23:07:56 +02:00
Grégoire Paris
0078a67786 Use ClassMetadata over ClassMetadataInfo in tests
ClassMetadataInfo is deprecated in favor of ClassMetadata.
2022-04-28 21:40:23 +02:00
Grégoire Paris
38d1124be9 Merge pull request #9691 from greg0ire/reference-cmi-less
Reference ClassMetadaInfo less
2022-04-28 07:58:51 +02:00
Grégoire Paris
e9d3c218ef Remove explanation about inexistent distinction
ClassMetadataInfo used to be useful during entity generation, because it
allowed the entity not to exist. We no longer do entity generation, and
even if we did, the reflection methods have been moved to
ClassMetadataInfo as of 76e4f5a80b .
2022-04-27 23:28:58 +02:00
Grégoire Paris
6d2ca8fe40 Address mapping driver extraction
This documentation must be very old because this is no longer valid as
of e9e36dcf32 . The interface and abstract
file driver have since then been moved to doctrine/common, and the to
doctrine/persistence.
2022-04-27 23:28:43 +02:00
Grégoire Paris
a06011daf3 Refer to ClassMetadata instead of ClassMetadataInfo
Although properties and methods are currently located in
ClassMetadataInfo, it is better to refer to ClassMetadata as the former
is deprecated in favor of the latter.
2022-04-27 23:28:40 +02:00
Alexander M. Turek
0846b8b102 PHPStan 1.6.1 (#9688) 2022-04-26 23:52:07 +02:00
Simon Podlipsky
1dd2b44982 Drop SymfonyStyle[listing] for sqls (#9679)
This was super annoying as UpdateCommand printed sqls prefixed with `*` so it was not possible to copy statements anymore without manually removing those asterisks.

This removes prefixing sqls and makes it consistent with Create and Drop commands.
2022-04-26 15:33:18 +02:00
Alexander M. Turek
d9508e97df Remove dynamic property declarations (#9683) 2022-04-26 11:10:50 +02:00
Alexander M. Turek
534ed9c3c2 PHPStan 1.6.0 (#9682) 2022-04-26 11:01:11 +02:00
Grégoire Paris
a552df66a9 Merge pull request #9677 from greg0ire/assert-drivers-are-orm-specific
Document ORM drivers only really load ORM metadata
2022-04-24 20:55:13 +02:00
Grégoire Paris
85238d4d98 Document ORM drivers only really load ORM metadata 2022-04-24 20:05:37 +02:00
Fran Moreno
b7e9dd023c Fix HydrationException::invalidDiscriminatorValue parameter type (#9676) 2022-04-24 19:32:57 +02:00
Fran Moreno
1ac05f5e4e Fix type on ClassMetadata discriminatorMap (#9675) 2022-04-24 17:52:28 +02:00
Alexander M. Turek
2e4a872272 Conditionally extend the old AnnotationDriver class (#9671) 2022-04-22 19:46:03 +02:00
99 changed files with 545 additions and 1079 deletions

View File

@@ -41,11 +41,6 @@ This is now deprecated. Please extend `EntityRepository` instead.
+$entityManager->getRepository(CmsUser::class);
```
## BC Break: `AttributeDriver` and `AnnotationDriver` no longer extends parent class from `doctrine/persistence`
Both these classes used to extend an abstract `AnnotationDriver` class defined
in `doctrine/persistence`, and no longer do.
## Deprecate `AttributeDriver::getReader()` and `AnnotationDriver::getReader()`
That method was inherited from the abstract `AnnotationDriver` class of

View File

@@ -27,7 +27,7 @@
"doctrine/collections": "^1.5",
"doctrine/common": "^3.0.3",
"doctrine/dbal": "^2.13.1 || ^3.2",
"doctrine/deprecations": "^0.5.3",
"doctrine/deprecations": "^0.5.3 || ^1",
"doctrine/event-manager": "^1.1",
"doctrine/inflector": "^1.4 || ^2.0",
"doctrine/instantiator": "^1.3",
@@ -42,13 +42,13 @@
"doctrine/annotations": "^1.13",
"doctrine/coding-standard": "^9.0",
"phpbench/phpbench": "^0.16.10 || ^1.0",
"phpstan/phpstan": "~1.4.10 || 1.5.0",
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.4",
"phpstan/phpstan": "~1.4.10 || 1.6.3",
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
"psr/log": "^1 || ^2 || ^3",
"squizlabs/php_codesniffer": "3.6.2",
"symfony/cache": "^4.4 || ^5.4 || ^6.0",
"symfony/yaml": "^3.4 || ^4.0 || ^5.0 || ^6.0",
"vimeo/psalm": "4.22.0"
"vimeo/psalm": "4.23.0"
},
"conflict": {
"doctrine/annotations": "<1.13 || >= 2.0"

View File

@@ -47,7 +47,7 @@ appropriate autoloaders.
}
foreach ($classMetadata->getAssociationMappings() as $fieldName => $mapping) {
if ($mapping['type'] == \Doctrine\ORM\Mapping\ClassMetadataInfo::MANY_TO_MANY && $mapping['isOwningSide']) {
if ($mapping['type'] == \Doctrine\ORM\Mapping\ClassMetadata::MANY_TO_MANY && $mapping['isOwningSide']) {
$mappedTableName = $mapping['joinTable']['name'];
$classMetadata->associationMappings[$fieldName]['joinTable']['name'] = $this->prefix . $mappedTableName;
}

View File

@@ -79,7 +79,9 @@ array of events it should be subscribed to.
.. code-block:: php
<?php
class TestEventSubscriber implements \Doctrine\Common\EventSubscriber
use Doctrine\Common\EventSubscriber;
class TestEventSubscriber implements EventSubscriber
{
public $preFooInvoked = false;
@@ -211,7 +213,6 @@ specific to a particular entity class's lifecycle.
.. code-block:: attribute
<?php
use Doctrine\DBAL\Types\Types;
use Doctrine\Persistence\Event\LifecycleEventArgs;
@@ -245,7 +246,6 @@ specific to a particular entity class's lifecycle.
.. code-block:: annotation
<?php
use Doctrine\Persistence\Event\LifecycleEventArgs;
/**
@@ -504,7 +504,6 @@ result in an infinite loop.
.. code-block:: php
<?php
use Doctrine\ORM\Event\PreFlushEventArgs;
class PreFlushExampleListener
@@ -590,7 +589,6 @@ This event is not a lifecycle callback.
.. code-block:: php
<?php
use Doctrine\ORM\Event\PostFlushEventArgs;
class PostFlushExampleListener
@@ -615,7 +613,7 @@ Changes to associations of the updated entity are never allowed in
this event, since Doctrine cannot guarantee to correctly handle
referential integrity at this point of the flush operation. This
event has a powerful feature however, it is executed with a
`_PreUpdateEventArgs`_ instance, which contains a reference to the
`PreUpdateEventArgs`_ instance, which contains a reference to the
computed change-set of this entity.
This means you have access to all the fields that have changed for
@@ -637,6 +635,8 @@ A simple example for this event looks like:
.. code-block:: php
<?php
use Doctrine\ORM\Event\PreUpdateEventArgs;
class NeverAliceOnlyBobListener
{
public function preUpdate(PreUpdateEventArgs $eventArgs)
@@ -656,6 +656,8 @@ lifecycle callback when there are expensive validations to call:
.. code-block:: php
<?php
use Doctrine\ORM\Event\PreUpdateEventArgs;
class ValidCreditCardListener
{
public function preUpdate(PreUpdateEventArgs $eventArgs)
@@ -807,6 +809,8 @@ An ``Entity Listener`` could be any class, by default it should be a class with
.. code-block:: php
<?php
use Doctrine\ORM\Event\PreUpdateEventArgs;
class UserListener
{
public function preUpdate(User $user, PreUpdateEventArgs $event)
@@ -823,6 +827,10 @@ you need to map the listener method using the event type mapping:
.. code-block:: php
<?php
use Doctrine\ORM\Event\LifecycleEventArgs;
use Doctrine\ORM\Event\PreUpdateEventArgs;
use Doctrine\ORM\Event\PreFlushEventArgs;
class UserListener
{
/** @PrePersist */
@@ -907,6 +915,8 @@ Specifying an entity listener instance :
.. code-block:: php
<?php
use Doctrine\ORM\Event\PreUpdateEventArgs;
// User.php
/** @Entity @EntityListeners({"UserListener"}) */
@@ -933,12 +943,14 @@ Specifying an entity listener instance :
$listener = $container->get('user_listener');
$em->getConfiguration()->getEntityListenerResolver()->register($listener);
Implementing your own resolver :
Implementing your own resolver:
.. code-block:: php
<?php
class MyEntityListenerResolver extends \Doctrine\ORM\Mapping\DefaultEntityListenerResolver
use Doctrine\ORM\Mapping\DefaultEntityListenerResolver;
class MyEntityListenerResolver extends DefaultEntityListenerResolver
{
public function __construct($container)
{
@@ -972,13 +984,15 @@ This event is not a lifecycle callback.
.. code-block:: php
<?php
use Doctrine\ORM\Event\LoadClassMetadataEventArgs;
$test = new TestEventListener();
$evm = $em->getEventManager();
$evm->addEventListener(Doctrine\ORM\Events::loadClassMetadata, $test);
class TestEventListener
{
public function loadClassMetadata(\Doctrine\ORM\Event\LoadClassMetadataEventArgs $eventArgs)
public function loadClassMetadata(LoadClassMetadataEventArgs $eventArgs)
{
$classMetadata = $eventArgs->getClassMetadata();
$fieldMapping = array(
@@ -1011,13 +1025,16 @@ instance and class metadata.
.. code-block:: php
<?php
use Doctrine\ORM\Tools\ToolEvents;
use Doctrine\ORM\Tools\Event\GenerateSchemaTableEventArgs;
$test = new TestEventListener();
$evm = $em->getEventManager();
$evm->addEventListener(\Doctrine\ORM\Tools\ToolEvents::postGenerateSchemaTable, $test);
$evm->addEventListener(ToolEvents::postGenerateSchemaTable, $test);
class TestEventListener
{
public function postGenerateSchemaTable(\Doctrine\ORM\Tools\Event\GenerateSchemaTableEventArgs $eventArgs)
public function postGenerateSchemaTable(GenerateSchemaTableEventArgs $eventArgs)
{
$classMetadata = $eventArgs->getClassMetadata();
$schema = $eventArgs->getSchema();
@@ -1035,13 +1052,16 @@ and the EntityManager.
.. code-block:: php
<?php
use Doctrine\ORM\Tools\ToolEvents;
use Doctrine\ORM\Tools\Event\GenerateSchemaEventArgs;
$test = new TestEventListener();
$evm = $em->getEventManager();
$evm->addEventListener(\Doctrine\ORM\Tools\ToolEvents::postGenerateSchema, $test);
$evm->addEventListener(ToolEvents::postGenerateSchema, $test);
class TestEventListener
{
public function postGenerateSchema(\Doctrine\ORM\Tools\Event\GenerateSchemaEventArgs $eventArgs)
public function postGenerateSchema(GenerateSchemaEventArgs $eventArgs)
{
$schema = $eventArgs->getSchema();
$em = $eventArgs->getEntityManager();

View File

@@ -55,51 +55,66 @@ Implementing Metadata Drivers
In addition to the included metadata drivers you can very easily
implement your own. All you need to do is define a class which
implements the ``Driver`` interface:
implements the ``MappingDriver`` interface:
.. code-block:: php
<?php
namespace Doctrine\ORM\Mapping\Driver;
use Doctrine\ORM\Mapping\ClassMetadataInfo;
interface Driver
declare(strict_types=1);
namespace Doctrine\Persistence\Mapping\Driver;
use Doctrine\Persistence\Mapping\ClassMetadata;
/**
* Contract for metadata drivers.
*/
interface MappingDriver
{
/**
* Loads the metadata for the specified class into the provided container.
*
* @param string $className
* @param ClassMetadataInfo $metadata
*
* @psalm-param class-string<T> $className
* @psalm-param ClassMetadata<T> $metadata
*
* @return void
*
* @template T of object
*/
function loadMetadataForClass($className, ClassMetadataInfo $metadata);
public function loadMetadataForClass(string $className, ClassMetadata $metadata);
/**
* Gets the names of all mapped classes known to this driver.
*
* @return array The names of all mapped classes known to this driver.
*/
function getAllClassNames();
/**
* Whether the class with the specified name should have its metadata loaded.
* This is only the case if it is either mapped as an Entity or a
* MappedSuperclass.
*
* @param string $className
* @return boolean
* @return array<int, string> The names of all mapped classes known to this driver.
* @psalm-return list<class-string>
*/
function isTransient($className);
public function getAllClassNames();
/**
* Returns whether the class with the specified name should have its metadata loaded.
* This is only the case if it is either mapped as an Entity or a MappedSuperclass.
*
* @psalm-param class-string $className
*
* @return bool
*/
public function isTransient(string $className);
}
If you want to write a metadata driver to parse information from
some file format we've made your life a little easier by providing
the ``AbstractFileDriver`` implementation for you to extend from:
the ``FileDriver`` implementation for you to extend from:
.. code-block:: php
<?php
class MyMetadataDriver extends AbstractFileDriver
use Doctrine\Persistence\Mapping\ClassMetadata;
use Doctrine\Persistence\Mapping\Driver\FileDriver;
class MyMetadataDriver extends FileDriver
{
/**
* {@inheritdoc}
@@ -109,11 +124,11 @@ the ``AbstractFileDriver`` implementation for you to extend from:
/**
* {@inheritdoc}
*/
public function loadMetadataForClass($className, ClassMetadataInfo $metadata)
public function loadMetadataForClass($className, ClassMetadata $metadata)
{
$data = $this->_loadMappingFile($file);
// populate ClassMetadataInfo instance from $data
// populate ClassMetadata instance from $data
}
/**
@@ -127,13 +142,12 @@ the ``AbstractFileDriver`` implementation for you to extend from:
.. note::
When using the ``AbstractFileDriver`` it requires that you
only have one entity defined per file and the file named after the
class described inside where namespace separators are replaced by
periods. So if you have an entity named ``Entities\User`` and you
wanted to write a mapping file for your driver above you would need
to name the file ``Entities.User.dcm.ext`` for it to be
recognized.
When using the ``FileDriver`` it requires that you only have one
entity defined per file and the file named after the class described
inside where namespace separators are replaced by periods. So if you
have an entity named ``Entities\User`` and you wanted to write a
mapping file for your driver above you would need to name the file
``Entities.User.dcm.ext`` for it to be recognized.
Now you can use your ``MyMetadataDriver`` implementation by setting
@@ -156,14 +170,6 @@ entity when needed.
You have all the methods you need to manually specify the mapping
information instead of using some mapping file to populate it from.
The base ``ClassMetadataInfo`` class is responsible for only data
storage and is not meant for runtime use. It does not require that
the class actually exists yet so it is useful for describing some
entity before it exists and using that information to generate for
example the entities themselves. The class ``ClassMetadata``
extends ``ClassMetadataInfo`` and adds some functionality required
for runtime usage and requires that the PHP class is present and
can be autoloaded.
You can read more about the API of the ``ClassMetadata`` classes in
the PHP Mapping chapter.

View File

@@ -185,13 +185,12 @@ It also has several methods that create builders (which are necessary for advanc
- ``createManyToMany($name, $targetEntity)`` returns an ``ManyToManyAssociationBuilder`` instance
- ``createOneToMany($name, $targetEntity)`` returns an ``OneToManyAssociationBuilder`` instance
ClassMetadataInfo API
---------------------
ClassMetadata API
-----------------
The ``ClassMetadataInfo`` class is the base data object for storing
the mapping metadata for a single entity. It contains all the
getters and setters you need populate and retrieve information for
an entity.
The ``ClassMetadata`` class is the data object for storing the mapping
metadata for a single entity. It contains all the getters and setters
you need populate and retrieve information for an entity.
General Setters
~~~~~~~~~~~~~~~
@@ -309,13 +308,11 @@ Lifecycle Callback Getters
- ``hasLifecycleCallbacks($lifecycleEvent)``
- ``getLifecycleCallbacks($event)``
ClassMetadata API
-----------------
Runtime reflection methods
~~~~~~~~~~~~~~~~~~~~~~~~~~
The ``ClassMetadata`` class extends ``ClassMetadataInfo`` and adds
the runtime functionality required by Doctrine. It adds a few extra
methods related to runtime reflection for working with the entities
themselves.
These are methods related to runtime reflection for working with the
entities themselves.
- ``getReflectionClass()``

View File

@@ -149,7 +149,7 @@ When using the SchemaTool class directly, create your schema using
the ``createSchema()`` method. First create an instance of the
``SchemaTool`` and pass it an instance of the ``EntityManager``
that you want to use to create the schema. This method receives an
array of ``ClassMetadataInfo`` instances.
array of ``ClassMetadata`` instances.
.. code-block:: php
@@ -180,8 +180,8 @@ tables of the current model to clean up with orphaned tables.
You can also use database introspection to update your schema
easily with the ``updateSchema()`` method. It will compare your
existing database schema to the passed array of
``ClassMetadataInfo`` instances.
existing database schema to the passed array of ``ClassMetadata``
instances.
.. code-block:: php
@@ -324,9 +324,9 @@ convert to and the path to generate it:
Reverse Engineering
-------------------
You can use the ``DatabaseDriver`` to reverse engineer a database
to an array of ``ClassMetadataInfo`` instances and generate YAML,
XML, etc. from them.
You can use the ``DatabaseDriver`` to reverse engineer a database to an
array of ``ClassMetadata`` instances and generate YAML, XML, etc. from
them.
.. note::

View File

@@ -62,7 +62,7 @@ class SequenceGenerator extends AbstractIdGenerator implements Serializable
$connection->ensureConnectedToPrimary();
}
$this->_nextValue = (int) $connection->executeQuery($sql)->fetchOne();
$this->_nextValue = (int) $connection->fetchOne($sql);
$this->_maxValue = $this->_nextValue + $this->_allocationSize;
}

View File

@@ -84,17 +84,17 @@ class HydrationException extends ORMException
/**
* @param string $discrValue
* @param string[] $discrMap
* @psalm-param array<string, string> $discrMap
* @param string[] $discrValues
* @psalm-param list<string> $discrValues
*
* @return HydrationException
*/
public static function invalidDiscriminatorValue($discrValue, $discrMap)
public static function invalidDiscriminatorValue($discrValue, $discrValues)
{
return new self(sprintf(
'The discriminator value "%s" is invalid. It must be one of "%s".',
$discrValue,
implode('", "', $discrMap)
implode('", "', $discrValues)
));
}
}

View File

@@ -519,7 +519,9 @@ class ClassMetadataInfo implements ClassMetadata
*
* @see discriminatorColumn
*
* @var mixed
* @var array<string, string>
*
* @psalm-var array<string, class-string>
*/
public $discriminatorMap = [];
@@ -543,10 +545,10 @@ class ClassMetadataInfo implements ClassMetadata
* @var mixed[]
* @psalm-var array{
* name: string,
* schema: string,
* indexes: array,
* uniqueConstraints: array,
* options: array<string, mixed>,
* schema?: string,
* indexes?: array,
* uniqueConstraints?: array,
* options?: array<string, mixed>,
* quoted?: bool
* }
*/

View File

@@ -10,11 +10,10 @@ use Doctrine\Deprecations\Deprecation;
use Doctrine\ORM\Events;
use Doctrine\ORM\Mapping;
use Doctrine\ORM\Mapping\Builder\EntityListenerBuilder;
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\ORM\Mapping\MappingException;
use Doctrine\Persistence\Mapping\ClassMetadata;
use Doctrine\Persistence\Mapping\ClassMetadata as PersistenceClassMetadata;
use Doctrine\Persistence\Mapping\Driver\ColocatedMappingDriver;
use Doctrine\Persistence\Mapping\Driver\MappingDriver;
use ReflectionClass;
use ReflectionMethod;
use ReflectionProperty;
@@ -32,7 +31,7 @@ use function is_numeric;
/**
* The AnnotationDriver reads the mapping metadata from docblock annotations.
*/
class AnnotationDriver implements MappingDriver
class AnnotationDriver extends CompatibilityAnnotationDriver
{
use ColocatedMappingDriver;
@@ -70,10 +69,14 @@ class AnnotationDriver implements MappingDriver
/**
* {@inheritDoc}
*
* @psalm-param class-string<T> $className
* @psalm-param ClassMetadata<T> $metadata
*
* @template T of object
*/
public function loadMetadataForClass($className, ClassMetadata $metadata)
public function loadMetadataForClass($className, PersistenceClassMetadata $metadata)
{
assert($metadata instanceof Mapping\ClassMetadata);
$class = $metadata->getReflectionClass()
// this happens when running annotation driver in combination with
// static reflection services. This is not the nicest fix
@@ -299,7 +302,7 @@ class AnnotationDriver implements MappingDriver
constant('Doctrine\ORM\Mapping\ClassMetadata::INHERITANCE_TYPE_' . $inheritanceTypeAnnot->value)
);
if ($metadata->inheritanceType !== ClassMetadataInfo::INHERITANCE_TYPE_NONE) {
if ($metadata->inheritanceType !== ClassMetadata::INHERITANCE_TYPE_NONE) {
// Evaluate DiscriminatorColumn annotation
if (isset($classAnnotations[Mapping\DiscriminatorColumn::class])) {
$discrColumnAnnot = $classAnnotations[Mapping\DiscriminatorColumn::class];
@@ -544,7 +547,7 @@ class AnnotationDriver implements MappingDriver
private function loadRelationShipMapping(
ReflectionProperty $property,
array &$mapping,
ClassMetadata $metadata,
PersistenceClassMetadata $metadata,
array $joinColumns,
string $className
): void {
@@ -648,7 +651,7 @@ class AnnotationDriver implements MappingDriver
/**
* Attempts to resolve the fetch mode.
*
* @psalm-return \Doctrine\ORM\Mapping\ClassMetadata::FETCH_* The fetch mode as defined in ClassMetadata.
* @psalm-return ClassMetadata::FETCH_* The fetch mode as defined in ClassMetadata.
*
* @throws MappingException If the fetch mode is not valid.
*/
@@ -664,7 +667,7 @@ class AnnotationDriver implements MappingDriver
/**
* Attempts to resolve the generated mode.
*
* @psalm-return ClassMetadataInfo::GENERATED_*
* @psalm-return ClassMetadata::GENERATED_*
*
* @throws MappingException If the fetch mode is not valid.
*/
@@ -764,7 +767,7 @@ class AnnotationDriver implements MappingDriver
* precision: int,
* notInsertable?: bool,
* notUpdateble?: bool,
* generated?: ClassMetadataInfo::GENERATED_*,
* generated?: ClassMetadata::GENERATED_*,
* enumType?: class-string,
* options?: mixed[],
* columnName?: string,

View File

@@ -8,11 +8,10 @@ use Doctrine\Deprecations\Deprecation;
use Doctrine\ORM\Events;
use Doctrine\ORM\Mapping;
use Doctrine\ORM\Mapping\Builder\EntityListenerBuilder;
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\ORM\Mapping\MappingException;
use Doctrine\Persistence\Mapping\ClassMetadata;
use Doctrine\Persistence\Mapping\ClassMetadata as PersistenceClassMetadata;
use Doctrine\Persistence\Mapping\Driver\ColocatedMappingDriver;
use Doctrine\Persistence\Mapping\Driver\MappingDriver;
use LogicException;
use ReflectionClass;
use ReflectionMethod;
@@ -27,7 +26,7 @@ use function sprintf;
use const PHP_VERSION_ID;
class AttributeDriver implements MappingDriver
class AttributeDriver extends CompatibilityAnnotationDriver
{
use ColocatedMappingDriver;
@@ -99,10 +98,16 @@ class AttributeDriver implements MappingDriver
return true;
}
public function loadMetadataForClass($className, ClassMetadata $metadata): void
/**
* {@inheritDoc}
*
* @psalm-param class-string<T> $className
* @psalm-param ClassMetadata<T> $metadata
*
* @template T of object
*/
public function loadMetadataForClass($className, PersistenceClassMetadata $metadata): void
{
assert($metadata instanceof ClassMetadataInfo);
$reflectionClass = $metadata->getReflectionClass();
$classAttributes = $this->reader->getClassAnnotations($reflectionClass);
@@ -239,7 +244,7 @@ class AttributeDriver implements MappingDriver
constant('Doctrine\ORM\Mapping\ClassMetadata::INHERITANCE_TYPE_' . $inheritanceTypeAttribute->value)
);
if ($metadata->inheritanceType !== Mapping\ClassMetadata::INHERITANCE_TYPE_NONE) {
if ($metadata->inheritanceType !== ClassMetadata::INHERITANCE_TYPE_NONE) {
// Evaluate DiscriminatorColumn annotation
if (isset($classAttributes[Mapping\DiscriminatorColumn::class])) {
$discrColumnAttribute = $classAttributes[Mapping\DiscriminatorColumn::class];
@@ -492,7 +497,7 @@ class AttributeDriver implements MappingDriver
// Check for `fetch`
if ($associationOverride->fetch) {
$override['fetch'] = constant(Mapping\ClassMetadata::class . '::FETCH_' . $associationOverride->fetch);
$override['fetch'] = constant(ClassMetadata::class . '::FETCH_' . $associationOverride->fetch);
}
$metadata->setAssociationOverride($fieldName, $override);
@@ -559,7 +564,7 @@ class AttributeDriver implements MappingDriver
* @param string $className The class name.
* @param string $fetchMode The fetch mode.
*
* @return int The fetch mode as defined in ClassMetadata.
* @return ClassMetadata::FETCH_* The fetch mode as defined in ClassMetadata.
*
* @throws MappingException If the fetch mode is not valid.
*/

View File

@@ -0,0 +1,26 @@
<?php
declare(strict_types=1);
namespace Doctrine\ORM\Mapping\Driver;
use Doctrine\Persistence\Mapping\Driver\AnnotationDriver as PersistenceAnnotationDriver;
use Doctrine\Persistence\Mapping\Driver\MappingDriver;
use function class_exists;
if (class_exists(PersistenceAnnotationDriver::class)) {
/**
* @internal This class will be removed in ORM 3.0.
*/
abstract class CompatibilityAnnotationDriver extends PersistenceAnnotationDriver
{
}
} else {
/**
* @internal This class will be removed in ORM 3.0.
*/
abstract class CompatibilityAnnotationDriver implements MappingDriver
{
}
}

View File

@@ -12,9 +12,10 @@ use Doctrine\DBAL\Schema\Table;
use Doctrine\DBAL\Types\Types;
use Doctrine\Inflector\Inflector;
use Doctrine\Inflector\InflectorFactory;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\MappingException;
use Doctrine\Persistence\Mapping\ClassMetadata;
use Doctrine\Persistence\Mapping\ClassMetadata as PersistenceClassMetadata;
use Doctrine\Persistence\Mapping\Driver\MappingDriver;
use InvalidArgumentException;
@@ -166,8 +167,13 @@ class DatabaseDriver implements MappingDriver
/**
* {@inheritDoc}
*
* @psalm-param class-string<T> $className
* @psalm-param ClassMetadata<T> $metadata
*
* @template T of object
*/
public function loadMetadataForClass($className, ClassMetadata $metadata)
public function loadMetadataForClass($className, PersistenceClassMetadata $metadata)
{
$this->reverseEngineerMappingFromDatabase();

View File

@@ -6,9 +6,9 @@ namespace Doctrine\ORM\Mapping\Driver;
use Doctrine\Common\Collections\Criteria;
use Doctrine\ORM\Mapping\Builder\EntityListenerBuilder;
use Doctrine\ORM\Mapping\ClassMetadata as Metadata;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\ORM\Mapping\MappingException;
use Doctrine\Persistence\Mapping\ClassMetadata;
use Doctrine\Persistence\Mapping\ClassMetadata as PersistenceClassMetadata;
use Doctrine\Persistence\Mapping\Driver\FileDriver;
use InvalidArgumentException;
use LogicException;
@@ -53,8 +53,13 @@ class XmlDriver extends FileDriver
/**
* {@inheritDoc}
*
* @psalm-param class-string<T> $className
* @psalm-param ClassMetadata<T> $metadata
*
* @template T of object
*/
public function loadMetadataForClass($className, ClassMetadata $metadata)
public function loadMetadataForClass($className, PersistenceClassMetadata $metadata)
{
$xmlRoot = $this->getElement($className);
assert($xmlRoot instanceof SimpleXMLElement);
@@ -168,7 +173,7 @@ class XmlDriver extends FileDriver
$inheritanceType = (string) $xmlRoot['inheritance-type'];
$metadata->setInheritanceType(constant('Doctrine\ORM\Mapping\ClassMetadata::INHERITANCE_TYPE_' . $inheritanceType));
if ($metadata->inheritanceType !== Metadata::INHERITANCE_TYPE_NONE) {
if ($metadata->inheritanceType !== ClassMetadata::INHERITANCE_TYPE_NONE) {
// Evaluate <discriminator-column...>
if (isset($xmlRoot->{'discriminator-column'})) {
$discrColumn = $xmlRoot->{'discriminator-column'};
@@ -685,7 +690,7 @@ class XmlDriver extends FileDriver
// Check for `fetch`
if (isset($overrideElement['fetch'])) {
$override['fetch'] = constant(Metadata::class . '::FETCH_' . (string) $overrideElement['fetch']);
$override['fetch'] = constant(ClassMetadata::class . '::FETCH_' . (string) $overrideElement['fetch']);
}
$metadata->setAssociationOverride($fieldName, $override);

View File

@@ -6,9 +6,9 @@ namespace Doctrine\ORM\Mapping\Driver;
use Doctrine\Deprecations\Deprecation;
use Doctrine\ORM\Mapping\Builder\EntityListenerBuilder;
use Doctrine\ORM\Mapping\ClassMetadata as Metadata;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\ORM\Mapping\MappingException;
use Doctrine\Persistence\Mapping\ClassMetadata;
use Doctrine\Persistence\Mapping\ClassMetadata as PersistenceClassMetadata;
use Doctrine\Persistence\Mapping\Driver\FileDriver;
use InvalidArgumentException;
use LogicException;
@@ -60,8 +60,13 @@ class YamlDriver extends FileDriver
/**
* {@inheritDoc}
*
* @psalm-param class-string<T> $className
* @psalm-param ClassMetadata<T> $metadata
*
* @template T of object
*/
public function loadMetadataForClass($className, ClassMetadata $metadata)
public function loadMetadataForClass($className, PersistenceClassMetadata $metadata)
{
$element = $this->getElement($className);
@@ -186,7 +191,7 @@ class YamlDriver extends FileDriver
if (isset($element['inheritanceType'])) {
$metadata->setInheritanceType(constant('Doctrine\ORM\Mapping\ClassMetadata::INHERITANCE_TYPE_' . strtoupper($element['inheritanceType'])));
if ($metadata->inheritanceType !== Metadata::INHERITANCE_TYPE_NONE) {
if ($metadata->inheritanceType !== ClassMetadata::INHERITANCE_TYPE_NONE) {
// Evaluate discriminatorColumn
if (isset($element['discriminatorColumn'])) {
$discrColumn = $element['discriminatorColumn'];
@@ -683,7 +688,7 @@ class YamlDriver extends FileDriver
// Check for `fetch`
if (isset($associationOverrideElement['fetch'])) {
$override['fetch'] = constant(Metadata::class . '::FETCH_' . $associationOverrideElement['fetch']);
$override['fetch'] = constant(ClassMetadata::class . '::FETCH_' . $associationOverrideElement['fetch']);
}
$metadata->setAssociationOverride($fieldName, $override);

View File

@@ -12,13 +12,14 @@ use Doctrine\ORM\EntityRepository;
* @Annotation
* @NamedArgumentConstructor()
* @Target("CLASS")
* @template T of object
*/
#[Attribute(Attribute::TARGET_CLASS)]
final class Entity implements Annotation
{
/**
* @var string|null
* @psalm-var class-string<EntityRepository>|null
* @psalm-var class-string<EntityRepository<T>>|null
*/
public $repositoryClass;
@@ -26,7 +27,7 @@ final class Entity implements Annotation
public $readOnly = false;
/**
* @psalm-param class-string<EntityRepository>|null $repositoryClass
* @psalm-param class-string<EntityRepository<T>>|null $repositoryClass
*/
public function __construct(?string $repositoryClass = null, bool $readOnly = false)
{

View File

@@ -90,7 +90,9 @@ EOT
if ($dumpSql) {
$ui->text('The following SQL statements will be executed:');
$ui->newLine();
$ui->listing($sqls);
foreach ($sqls as $sql) {
$ui->text(sprintf(' %s;', $sql));
}
}
if ($force) {

View File

@@ -81,7 +81,9 @@ class ValidateSchemaCommand extends AbstractEntityManagerCommand
if ($output->getVerbosity() >= OutputInterface::VERBOSITY_VERBOSE) {
$sqls = $validator->getUpdateSchemaList();
$ui->comment(sprintf('<info>%d</info> schema diff(s) detected:', count($sqls)));
$ui->listing($sqls);
foreach ($sqls as $sql) {
$ui->text(sprintf(' %s;', $sql));
}
}
$exit += 2;

View File

@@ -43,7 +43,8 @@
</rule>
<rule ref="PSR1.Classes.ClassDeclaration.MultipleClasses">
<exclude-pattern>*/tests/*</exclude-pattern>
<exclude-pattern>lib/Doctrine/ORM/Mapping/Driver/CompatibilityAnnotationDriver.php</exclude-pattern>
<exclude-pattern>tests/*</exclude-pattern>
</rule>
<rule ref="Squiz.Classes.ClassFileName.NoMatch">

View File

@@ -170,26 +170,6 @@ parameters:
count: 1
path: lib/Doctrine/ORM/Id/TableGenerator.php
-
message: "#^Parameter \\#2 \\$discrMap of static method Doctrine\\\\ORM\\\\Internal\\\\Hydration\\\\HydrationException\\:\\:invalidDiscriminatorValue\\(\\) expects array\\<string, string\\>, array\\<int, int\\|string\\> given\\.$#"
count: 1
path: lib/Doctrine/ORM/Internal/Hydration/ObjectHydrator.php
-
message: "#^Parameter \\#2 \\$discrMap of static method Doctrine\\\\ORM\\\\Internal\\\\Hydration\\\\HydrationException\\:\\:invalidDiscriminatorValue\\(\\) expects array\\<string, string\\>, array\\<int, int\\|string\\> given\\.$#"
count: 1
path: lib/Doctrine/ORM/Internal/Hydration/SimpleObjectHydrator.php
-
message: "#^Offset 'indexes' on array\\{name\\: string, schema\\: string, indexes\\: array, uniqueConstraints\\: array, options\\: array\\<string, mixed\\>, quoted\\?\\: bool\\} in isset\\(\\) always exists and is not nullable\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Builder/ClassMetadataBuilder.php
-
message: "#^Offset 'uniqueConstraints' on array\\{name\\: string, schema\\: string, indexes\\: array, uniqueConstraints\\: array, options\\: array\\<string, mixed\\>, quoted\\?\\: bool\\} in isset\\(\\) always exists and is not nullable\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Builder/ClassMetadataBuilder.php
-
message: "#^If condition is always true\\.$#"
count: 2
@@ -200,11 +180,6 @@ parameters:
count: 1
path: lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php
-
message: "#^Offset 'indexes'\\|'uniqueConstraints' on array\\{name\\: string, schema\\: string, indexes\\: array, uniqueConstraints\\: array, options\\: array\\<string, mixed\\>, quoted\\?\\: bool\\} in isset\\(\\) always exists and is not nullable\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php
-
message: "#^Parameter \\#2 \\$class of method Doctrine\\\\ORM\\\\Mapping\\\\QuoteStrategy\\:\\:getSequenceName\\(\\) expects Doctrine\\\\ORM\\\\Mapping\\\\ClassMetadata, Doctrine\\\\ORM\\\\Mapping\\\\ClassMetadataInfo given\\.$#"
count: 2
@@ -220,11 +195,6 @@ parameters:
count: 1
path: lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php
-
message: "#^Offset 'schema' on array\\{name\\: string, schema\\: string, indexes\\: array, uniqueConstraints\\: array, options\\: array\\<string, mixed\\>, quoted\\?\\: bool\\} on left side of \\?\\? always exists and is not nullable\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\:\\:mapEmbedded\\(\\)\\.$#"
count: 1
@@ -255,191 +225,6 @@ parameters:
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/AnnotationDriver.php
-
message: "#^Parameter \\#1 \\$metadata of static method Doctrine\\\\ORM\\\\Mapping\\\\Builder\\\\EntityListenerBuilder\\:\\:bindEntityListener\\(\\) expects Doctrine\\\\ORM\\\\Mapping\\\\ClassMetadata, Doctrine\\\\ORM\\\\Mapping\\\\ClassMetadataInfo&Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\> given\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/AttributeDriver.php
-
message: "#^Access to an undefined property Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:\\$name\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/DatabaseDriver.php
-
message: "#^Access to an undefined property Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:\\$table\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/DatabaseDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:mapManyToMany\\(\\)\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/DatabaseDriver.php
-
message: "#^Parameter \\#1 \\$metadata of method Doctrine\\\\ORM\\\\Mapping\\\\Driver\\\\DatabaseDriver\\:\\:buildFieldMappings\\(\\) expects Doctrine\\\\ORM\\\\Mapping\\\\ClassMetadataInfo, Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\> given\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/DatabaseDriver.php
-
message: "#^Parameter \\#1 \\$metadata of method Doctrine\\\\ORM\\\\Mapping\\\\Driver\\\\DatabaseDriver\\:\\:buildIndexes\\(\\) expects Doctrine\\\\ORM\\\\Mapping\\\\ClassMetadataInfo, Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\> given\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/DatabaseDriver.php
-
message: "#^Parameter \\#1 \\$metadata of method Doctrine\\\\ORM\\\\Mapping\\\\Driver\\\\DatabaseDriver\\:\\:buildToOneAssociationMappings\\(\\) expects Doctrine\\\\ORM\\\\Mapping\\\\ClassMetadataInfo, Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\> given\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/DatabaseDriver.php
-
message: "#^Access to an undefined property Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:\\$inheritanceType\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php
-
message: "#^Access to an undefined property Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:\\$isEmbeddedClass\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php
-
message: "#^Access to an undefined property Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:\\$isMappedSuperclass\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php
-
message: "#^Access to an undefined property Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:\\$table\\.$#"
count: 3
path: lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:addEntityListener\\(\\)\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:addLifecycleCallback\\(\\)\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:addNamedNativeQuery\\(\\)\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:addNamedQuery\\(\\)\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:addSqlResultSetMapping\\(\\)\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:enableCache\\(\\)\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:getAssociationCacheDefaults\\(\\)\\.$#"
count: 4
path: lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:mapEmbedded\\(\\)\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:mapField\\(\\)\\.$#"
count: 3
path: lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:mapManyToMany\\(\\)\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:mapManyToOne\\(\\)\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:mapOneToMany\\(\\)\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:mapOneToOne\\(\\)\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:markReadOnly\\(\\)\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:setAssociationOverride\\(\\)\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:setAttributeOverride\\(\\)\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:setChangeTrackingPolicy\\(\\)\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:setCustomGeneratorDefinition\\(\\)\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:setCustomRepositoryClass\\(\\)\\.$#"
count: 2
path: lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:setDiscriminatorColumn\\(\\)\\.$#"
count: 2
path: lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:setDiscriminatorMap\\(\\)\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:setIdGeneratorType\\(\\)\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:setInheritanceType\\(\\)\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:setPrimaryTable\\(\\)\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:setSequenceGeneratorDefinition\\(\\)\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:setVersionMapping\\(\\)\\.$#"
count: 2
path: lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php
-
message: "#^Empty array passed to foreach\\.$#"
count: 1
@@ -450,171 +235,11 @@ parameters:
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php
-
message: "#^Parameter \\#1 \\$metadata of static method Doctrine\\\\ORM\\\\Mapping\\\\Builder\\\\EntityListenerBuilder\\:\\:bindEntityListener\\(\\) expects Doctrine\\\\ORM\\\\Mapping\\\\ClassMetadata, Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\> given\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php
-
message: "#^Access to an undefined property Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:\\$inheritanceType\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/YamlDriver.php
-
message: "#^Access to an undefined property Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:\\$isEmbeddedClass\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/YamlDriver.php
-
message: "#^Access to an undefined property Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:\\$isMappedSuperclass\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/YamlDriver.php
-
message: "#^Access to an undefined property Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:\\$table\\.$#"
count: 3
path: lib/Doctrine/ORM/Mapping/Driver/YamlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:addEntityListener\\(\\)\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/YamlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:addLifecycleCallback\\(\\)\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/YamlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:addNamedNativeQuery\\(\\)\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/YamlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:addNamedQuery\\(\\)\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/YamlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:addSqlResultSetMapping\\(\\)\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/YamlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:enableCache\\(\\)\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/YamlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:getAssociationCacheDefaults\\(\\)\\.$#"
count: 4
path: lib/Doctrine/ORM/Mapping/Driver/YamlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:mapEmbedded\\(\\)\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/YamlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:mapField\\(\\)\\.$#"
count: 2
path: lib/Doctrine/ORM/Mapping/Driver/YamlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:mapManyToMany\\(\\)\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/YamlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:mapManyToOne\\(\\)\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/YamlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:mapOneToMany\\(\\)\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/YamlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:mapOneToOne\\(\\)\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/YamlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:markReadOnly\\(\\)\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/YamlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:setAssociationOverride\\(\\)\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/YamlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:setAttributeOverride\\(\\)\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/YamlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:setChangeTrackingPolicy\\(\\)\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/YamlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:setCustomGeneratorDefinition\\(\\)\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/YamlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:setCustomRepositoryClass\\(\\)\\.$#"
count: 2
path: lib/Doctrine/ORM/Mapping/Driver/YamlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:setDiscriminatorColumn\\(\\)\\.$#"
count: 2
path: lib/Doctrine/ORM/Mapping/Driver/YamlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:setDiscriminatorMap\\(\\)\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/YamlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:setIdGeneratorType\\(\\)\\.$#"
count: 2
path: lib/Doctrine/ORM/Mapping/Driver/YamlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:setInheritanceType\\(\\)\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/YamlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:setPrimaryTable\\(\\)\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/YamlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:setSequenceGeneratorDefinition\\(\\)\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/YamlDriver.php
-
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\>\\:\\:setVersionMapping\\(\\)\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/YamlDriver.php
-
message: "#^Offset 'usage' on array\\{usage\\: string, region\\?\\: string\\} in isset\\(\\) always exists and is not nullable\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/YamlDriver.php
-
message: "#^Parameter \\#1 \\$metadata of static method Doctrine\\\\ORM\\\\Mapping\\\\Builder\\\\EntityListenerBuilder\\:\\:bindEntityListener\\(\\) expects Doctrine\\\\ORM\\\\Mapping\\\\ClassMetadata, Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\<T of object\\> given\\.$#"
count: 1
path: lib/Doctrine/ORM/Mapping/Driver/YamlDriver.php
-
message: "#^Call to function is_int\\(\\) with string will always evaluate to false\\.$#"
count: 1
@@ -1490,28 +1115,13 @@ parameters:
count: 1
path: lib/Doctrine/ORM/Tools/EntityGenerator.php
-
message: "#^Offset 'indexes' on array\\{name\\: string, schema\\: string, indexes\\: array, uniqueConstraints\\: array, options\\: array\\<string, mixed\\>, quoted\\?\\: bool\\} in isset\\(\\) always exists and is not nullable\\.$#"
count: 1
path: lib/Doctrine/ORM/Tools/EntityGenerator.php
-
message: "#^Offset 'initialValue' on array\\{sequenceName\\: string, allocationSize\\: string, initialValue\\: string, quoted\\?\\: mixed\\} in isset\\(\\) always exists and is not nullable\\.$#"
count: 1
path: lib/Doctrine/ORM/Tools/EntityGenerator.php
-
message: "#^Offset 'name' on array\\{name\\: string, schema\\: string, indexes\\: array, uniqueConstraints\\: array, options\\: array\\<string, mixed\\>, quoted\\?\\: bool\\} in isset\\(\\) always exists and is not nullable\\.$#"
count: 1
path: lib/Doctrine/ORM/Tools/EntityGenerator.php
-
message: "#^Offset 'options' on array\\{name\\: string, schema\\: string, indexes\\: array, uniqueConstraints\\: array, options\\: array\\<string, mixed\\>, quoted\\?\\: bool\\} in isset\\(\\) always exists and is not nullable\\.$#"
count: 1
path: lib/Doctrine/ORM/Tools/EntityGenerator.php
-
message: "#^Offset 'schema' on array\\{name\\: string, schema\\: string, indexes\\: array, uniqueConstraints\\: array, options\\: array\\<string, mixed\\>, quoted\\?\\: bool\\} in isset\\(\\) always exists and is not nullable\\.$#"
message: "#^Offset 'name' on array\\{name\\: string, schema\\?\\: string, indexes\\?\\: array, uniqueConstraints\\?\\: array, options\\?\\: array\\<string, mixed\\>, quoted\\?\\: bool\\} in isset\\(\\) always exists and is not nullable\\.$#"
count: 1
path: lib/Doctrine/ORM/Tools/EntityGenerator.php
@@ -1520,11 +1130,6 @@ parameters:
count: 1
path: lib/Doctrine/ORM/Tools/EntityGenerator.php
-
message: "#^Offset 'uniqueConstraints' on array\\{name\\: string, schema\\: string, indexes\\: array, uniqueConstraints\\: array, options\\: array\\<string, mixed\\>, quoted\\?\\: bool\\} in isset\\(\\) always exists and is not nullable\\.$#"
count: 1
path: lib/Doctrine/ORM/Tools/EntityGenerator.php
-
message: "#^Property Doctrine\\\\ORM\\\\Mapping\\\\ClassMetadataInfo\\<object\\>\\:\\:\\$lifecycleCallbacks \\(array\\<string, array\\<int, string\\>\\>\\) in isset\\(\\) is not nullable\\.$#"
count: 1
@@ -1561,27 +1166,7 @@ parameters:
path: lib/Doctrine/ORM/Tools/Export/Driver/XmlExporter.php
-
message: "#^Offset 'indexes' on array\\{name\\: string, schema\\: string, indexes\\: array, uniqueConstraints\\: array, options\\: array\\<string, mixed\\>, quoted\\?\\: bool\\} in isset\\(\\) always exists and is not nullable\\.$#"
count: 1
path: lib/Doctrine/ORM/Tools/Export/Driver/XmlExporter.php
-
message: "#^Offset 'name' on array\\{name\\: string, schema\\: string, indexes\\: array, uniqueConstraints\\: array, options\\: array\\<string, mixed\\>, quoted\\?\\: bool\\} in isset\\(\\) always exists and is not nullable\\.$#"
count: 1
path: lib/Doctrine/ORM/Tools/Export/Driver/XmlExporter.php
-
message: "#^Offset 'options' on array\\{name\\: string, schema\\: string, indexes\\: array, uniqueConstraints\\: array, options\\: array\\<string, mixed\\>, quoted\\?\\: bool\\} in isset\\(\\) always exists and is not nullable\\.$#"
count: 1
path: lib/Doctrine/ORM/Tools/Export/Driver/XmlExporter.php
-
message: "#^Offset 'schema' on array\\{name\\: string, schema\\: string, indexes\\: array, uniqueConstraints\\: array, options\\: array\\<string, mixed\\>, quoted\\?\\: bool\\} in isset\\(\\) always exists and is not nullable\\.$#"
count: 1
path: lib/Doctrine/ORM/Tools/Export/Driver/XmlExporter.php
-
message: "#^Offset 'uniqueConstraints' on array\\{name\\: string, schema\\: string, indexes\\: array, uniqueConstraints\\: array, options\\: array\\<string, mixed\\>, quoted\\?\\: bool\\} in isset\\(\\) always exists and is not nullable\\.$#"
message: "#^Offset 'name' on array\\{name\\: string, schema\\?\\: string, indexes\\?\\: array, uniqueConstraints\\?\\: array, options\\?\\: array\\<string, mixed\\>, quoted\\?\\: bool\\} in isset\\(\\) always exists and is not nullable\\.$#"
count: 1
path: lib/Doctrine/ORM/Tools/Export/Driver/XmlExporter.php
@@ -1605,26 +1190,6 @@ parameters:
count: 2
path: lib/Doctrine/ORM/Tools/Export/Driver/XmlExporter.php
-
message: "#^Offset 'indexes' on array\\{name\\: string, schema\\: string, indexes\\: array, uniqueConstraints\\: array, options\\: array\\<string, mixed\\>, quoted\\?\\: bool\\} in isset\\(\\) always exists and is not nullable\\.$#"
count: 1
path: lib/Doctrine/ORM/Tools/Export/Driver/YamlExporter.php
-
message: "#^Offset 'options' on array\\{name\\: string, schema\\: string, indexes\\: array, uniqueConstraints\\: array, options\\: array\\<string, mixed\\>, quoted\\?\\: bool\\} in isset\\(\\) always exists and is not nullable\\.$#"
count: 1
path: lib/Doctrine/ORM/Tools/Export/Driver/YamlExporter.php
-
message: "#^Offset 'schema' on array\\{name\\: string, schema\\: string, indexes\\: array, uniqueConstraints\\: array, options\\: array\\<string, mixed\\>, quoted\\?\\: bool\\} in isset\\(\\) always exists and is not nullable\\.$#"
count: 1
path: lib/Doctrine/ORM/Tools/Export/Driver/YamlExporter.php
-
message: "#^Offset 'uniqueConstraints' on array\\{name\\: string, schema\\: string, indexes\\: array, uniqueConstraints\\: array, options\\: array\\<string, mixed\\>, quoted\\?\\: bool\\} in isset\\(\\) always exists and is not nullable\\.$#"
count: 1
path: lib/Doctrine/ORM/Tools/Export/Driver/YamlExporter.php
-
message: "#^Property Doctrine\\\\ORM\\\\Mapping\\\\ClassMetadataInfo\\<object\\>\\:\\:\\$lifecycleCallbacks \\(array\\<string, array\\<int, string\\>\\>\\) in isset\\(\\) is not nullable\\.$#"
count: 1
@@ -1675,21 +1240,6 @@ parameters:
count: 1
path: lib/Doctrine/ORM/Tools/SchemaTool.php
-
message: "#^Offset 'indexes' on array\\{name\\: string, schema\\: string, indexes\\: array, uniqueConstraints\\: array, options\\: array\\<string, mixed\\>, quoted\\?\\: bool\\} in isset\\(\\) always exists and is not nullable\\.$#"
count: 1
path: lib/Doctrine/ORM/Tools/SchemaTool.php
-
message: "#^Offset 'options' on array\\{name\\: string, schema\\: string, indexes\\: array, uniqueConstraints\\: array, options\\: array\\<string, mixed\\>, quoted\\?\\: bool\\} in isset\\(\\) always exists and is not nullable\\.$#"
count: 1
path: lib/Doctrine/ORM/Tools/SchemaTool.php
-
message: "#^Offset 'uniqueConstraints' on array\\{name\\: string, schema\\: string, indexes\\: array, uniqueConstraints\\: array, options\\: array\\<string, mixed\\>, quoted\\?\\: bool\\} in isset\\(\\) always exists and is not nullable\\.$#"
count: 1
path: lib/Doctrine/ORM/Tools/SchemaTool.php
-
message: "#^Binary operation \"&\" between string and 3 results in an error\\.$#"
count: 1
@@ -1734,4 +1284,3 @@ parameters:
message: "#^Access to an undefined property Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\:\\:\\$subClasses\\.$#"
count: 1
path: lib/Doctrine/ORM/Utility/HierarchyDiscriminatorResolver.php

View File

@@ -41,3 +41,14 @@ parameters:
# Symfony cache supports passing a key prefix to the clear method.
- '/^Method Psr\\Cache\\CacheItemPoolInterface\:\:clear\(\) invoked with 1 parameter, 0 required\.$/'
# Compatibility layer for AttributeDriver
-
message: "#^PHPDoc type Doctrine\\\\ORM\\\\Mapping\\\\Driver\\\\AttributeReader of property Doctrine\\\\ORM\\\\Mapping\\\\Driver\\\\AttributeDriver\\:\\:\\$reader is not covariant with PHPDoc type Doctrine\\\\Common\\\\Annotations\\\\Reader of overridden property Doctrine\\\\Persistence\\\\Mapping\\\\Driver\\\\AnnotationDriver\\:\\:\\$reader\\.$#"
path: lib/Doctrine/ORM/Mapping/Driver/AttributeDriver.php
-
message: "#^PHPDoc type array\\<string, int\\> of property Doctrine\\\\ORM\\\\Mapping\\\\Driver\\\\AttributeDriver\\:\\:\\$entityAnnotationClasses is not covariant with PHPDoc type array\\<class\\-string, bool\\|int\\> of overridden property Doctrine\\\\Persistence\\\\Mapping\\\\Driver\\\\AnnotationDriver\\:\\:\\$entityAnnotationClasses\\.$#"
path: lib/Doctrine/ORM/Mapping/Driver/AttributeDriver.php
-
message: "#^Return type \\(Doctrine\\\\ORM\\\\Mapping\\\\Driver\\\\AttributeReader\\) of method Doctrine\\\\ORM\\\\Mapping\\\\Driver\\\\AttributeDriver\\:\\:getReader\\(\\) should be compatible with return type \\(Doctrine\\\\Common\\\\Annotations\\\\Reader\\) of method Doctrine\\\\Persistence\\\\Mapping\\\\Driver\\\\AnnotationDriver\\:\\:getReader\\(\\)$#"
path: lib/Doctrine/ORM/Mapping/Driver/AttributeDriver.php

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<files psalm-version="4.22.0@fc2c6ab4d5fa5d644d8617089f012f3bb84b8703">
<files psalm-version="4.23.0@f1fe6ff483bf325c803df9f510d09a03fd796f88">
<file src="lib/Doctrine/ORM/AbstractQuery.php">
<DeprecatedClass occurrences="1">
<code>IterableResult</code>
@@ -421,9 +421,6 @@
</RedundantConditionGivenDocblockType>
</file>
<file src="lib/Doctrine/ORM/Internal/Hydration/ObjectHydrator.php">
<InvalidScalarArgument occurrences="1">
<code>array_keys($discrMap)</code>
</InvalidScalarArgument>
<PossiblyFalseArgument occurrences="1">
<code>$index</code>
</PossiblyFalseArgument>
@@ -452,9 +449,6 @@
</PossiblyUndefinedArrayOffset>
</file>
<file src="lib/Doctrine/ORM/Internal/Hydration/SimpleObjectHydrator.php">
<InvalidScalarArgument occurrences="1">
<code>array_keys($discrMap)</code>
</InvalidScalarArgument>
<PropertyNotSetInConstructor occurrences="1">
<code>$class</code>
</PropertyNotSetInConstructor>
@@ -530,6 +524,9 @@
<PossiblyInvalidArrayAssignment occurrences="1">
<code>$subClass-&gt;table[$indexType][$indexName]</code>
</PossiblyInvalidArrayAssignment>
<InvalidPropertyAssignmentValue occurrences="1">
<code>$subClass-&gt;table</code>
</InvalidPropertyAssignmentValue>
<PossiblyInvalidIterator occurrences="1">
<code>$parentClass-&gt;table[$indexType]</code>
</PossiblyInvalidIterator>
@@ -548,9 +545,6 @@
<code>getConfiguration</code>
<code>getConnection</code>
</PossiblyNullReference>
<PropertyTypeCoercion occurrences="1">
<code>$subClass-&gt;table</code>
</PropertyTypeCoercion>
</file>
<file src="lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php">
<DeprecatedConstant occurrences="1">
@@ -653,7 +647,8 @@
<code>$table</code>
<code>$tableGeneratorDefinition</code>
</PropertyNotSetInConstructor>
<PropertyTypeCoercion occurrences="10">
<PropertyTypeCoercion occurrences="11">
<code>$this-&gt;discriminatorMap</code>
<code>$this-&gt;entityListeners</code>
<code>$this-&gt;fieldMappings</code>
<code>$this-&gt;fullyQualifiedClassName($repositoryClassName)</code>
@@ -729,6 +724,9 @@
<LessSpecificReturnStatement occurrences="1">
<code>$mapping</code>
</LessSpecificReturnStatement>
<MoreSpecificImplementedParamType occurrences="1">
<code>$metadata</code>
</MoreSpecificImplementedParamType>
<MoreSpecificReturnType occurrences="1"/>
<PossiblyNullArgument occurrences="1">
<code>$listenerClassName</code>
@@ -749,9 +747,6 @@
</UndefinedInterfaceMethod>
</file>
<file src="lib/Doctrine/ORM/Mapping/Driver/AttributeDriver.php">
<ArgumentTypeCoercion occurrences="1">
<code>$metadata</code>
</ArgumentTypeCoercion>
<InvalidArrayAccess occurrences="4">
<code>$value[0]</code>
<code>$value[0]</code>
@@ -761,6 +756,9 @@
<LessSpecificReturnStatement occurrences="1">
<code>$mapping</code>
</LessSpecificReturnStatement>
<MoreSpecificImplementedParamType occurrences="1">
<code>$metadata</code>
</MoreSpecificImplementedParamType>
<MoreSpecificReturnType occurrences="1"/>
<PossiblyNullArgument occurrences="1">
<code>$listenerClassName</code>
@@ -775,22 +773,16 @@
</RedundantConditionGivenDocblockType>
</file>
<file src="lib/Doctrine/ORM/Mapping/Driver/DatabaseDriver.php">
<ArgumentTypeCoercion occurrences="3">
<code>$metadata</code>
<code>$metadata</code>
<code>$metadata</code>
</ArgumentTypeCoercion>
<LessSpecificReturnStatement occurrences="2">
<code>$this-&gt;namespace . $this-&gt;classNamesForTables[$tableName]</code>
<code>$this-&gt;namespace . $this-&gt;inflector-&gt;classify(strtolower($tableName))</code>
</LessSpecificReturnStatement>
<MoreSpecificImplementedParamType occurrences="1">
<code>$metadata</code>
</MoreSpecificImplementedParamType>
<MoreSpecificReturnType occurrences="1">
<code>class-string</code>
</MoreSpecificReturnType>
<NoInterfaceProperties occurrences="2">
<code>$metadata-&gt;name</code>
<code>$metadata-&gt;table</code>
</NoInterfaceProperties>
<PossiblyNullArgument occurrences="2">
<code>$this-&gt;tables[$tableName]</code>
<code>$this-&gt;tables[$tableName]</code>
@@ -806,9 +798,9 @@
<code>getColumns</code>
<code>getIndexes</code>
</PossiblyNullReference>
<UndefinedInterfaceMethod occurrences="1">
<code>mapManyToMany</code>
</UndefinedInterfaceMethod>
<PropertyTypeCoercion occurrences="1">
<code>$metadata-&gt;table</code>
</PropertyTypeCoercion>
</file>
<file src="lib/Doctrine/ORM/Mapping/Driver/PHPDriver.php">
<PropertyNotSetInConstructor occurrences="1">
@@ -828,34 +820,42 @@
</MissingParamType>
</file>
<file src="lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php">
<ArgumentTypeCoercion occurrences="1">
<code>$metadata</code>
<ArgumentTypeCoercion occurrences="3">
<code>$map</code>
<code>(string) $xmlRoot['repository-class']</code>
<code>isset($xmlRoot['repository-class']) ? (string) $xmlRoot['repository-class'] : null</code>
</ArgumentTypeCoercion>
<DeprecatedMethod occurrences="2">
<code>addNamedNativeQuery</code>
<code>addNamedQuery</code>
</DeprecatedMethod>
<DocblockTypeContradiction occurrences="3">
<code>$xmlRoot-&gt;getName() === 'embeddable'</code>
<code>$xmlRoot-&gt;getName() === 'entity'</code>
<code>$xmlRoot-&gt;getName() === 'mapped-superclass'</code>
</DocblockTypeContradiction>
<InvalidArgument occurrences="4">
<code>$this-&gt;cacheToArray($manyToManyElement-&gt;cache)</code>
<code>$this-&gt;cacheToArray($manyToOneElement-&gt;cache)</code>
<code>$this-&gt;cacheToArray($oneToManyElement-&gt;cache)</code>
<code>$this-&gt;cacheToArray($oneToOneElement-&gt;cache)</code>
</InvalidArgument>
<InvalidPropertyAssignmentValue occurrences="1">
<code>$metadata-&gt;table</code>
</InvalidPropertyAssignmentValue>
<LessSpecificReturnStatement occurrences="1"/>
<MissingParamType occurrences="2">
<code>$fileExtension</code>
<code>$locator</code>
</MissingParamType>
<MoreSpecificImplementedParamType occurrences="1">
<code>$metadata</code>
</MoreSpecificImplementedParamType>
<MoreSpecificReturnType occurrences="1">
<code>array{usage: int|null, region?: string}</code>
</MoreSpecificReturnType>
<NoInterfaceProperties occurrences="12">
<NoInterfaceProperties occurrences="2">
<code>$indexXml-&gt;options</code>
<code>$metadata-&gt;inheritanceType</code>
<code>$metadata-&gt;isEmbeddedClass</code>
<code>$metadata-&gt;isMappedSuperclass</code>
<code>$metadata-&gt;table</code>
<code>$metadata-&gt;table</code>
<code>$metadata-&gt;table</code>
<code>$metadata-&gt;table</code>
<code>$metadata-&gt;table</code>
<code>$metadata-&gt;table</code>
<code>$metadata-&gt;table</code>
<code>$uniqueXml-&gt;options</code>
</NoInterfaceProperties>
<PossiblyInvalidPropertyFetch occurrences="2">
@@ -883,47 +883,12 @@
<code>isset($xmlRoot-&gt;{'sql-result-set-mappings'})</code>
<code>isset($xmlRoot-&gt;{'unique-constraints'})</code>
</RedundantCondition>
<UndefinedInterfaceMethod occurrences="34">
<code>addEntityListener</code>
<code>addLifecycleCallback</code>
<code>addNamedNativeQuery</code>
<code>addNamedQuery</code>
<code>addSqlResultSetMapping</code>
<code>enableCache</code>
<code>getAssociationCacheDefaults</code>
<code>getAssociationCacheDefaults</code>
<code>getAssociationCacheDefaults</code>
<code>getAssociationCacheDefaults</code>
<code>mapEmbedded</code>
<code>mapField</code>
<code>mapField</code>
<code>mapField</code>
<code>mapManyToMany</code>
<code>mapManyToOne</code>
<code>mapOneToMany</code>
<code>mapOneToOne</code>
<code>markReadOnly</code>
<code>setAssociationOverride</code>
<code>setAttributeOverride</code>
<code>setChangeTrackingPolicy</code>
<code>setCustomGeneratorDefinition</code>
<code>setCustomRepositoryClass</code>
<code>setCustomRepositoryClass</code>
<code>setDiscriminatorColumn</code>
<code>setDiscriminatorColumn</code>
<code>setDiscriminatorMap</code>
<code>setIdGeneratorType</code>
<code>setInheritanceType</code>
<code>setPrimaryTable</code>
<code>setSequenceGeneratorDefinition</code>
<code>setVersionMapping</code>
<code>setVersionMapping</code>
</UndefinedInterfaceMethod>
</file>
<file src="lib/Doctrine/ORM/Mapping/Driver/YamlDriver.php">
<ArgumentTypeCoercion occurrences="1">
<code>$metadata</code>
</ArgumentTypeCoercion>
<DeprecatedMethod occurrences="2">
<code>addNamedNativeQuery</code>
<code>addNamedQuery</code>
</DeprecatedMethod>
<InvalidDocblock occurrences="1">
<code>private function cacheToArray(array $cacheMapping): array</code>
</InvalidDocblock>
@@ -931,14 +896,9 @@
<code>$fileExtension</code>
<code>$locator</code>
</MissingParamType>
<NoInterfaceProperties occurrences="6">
<code>$metadata-&gt;inheritanceType</code>
<code>$metadata-&gt;isEmbeddedClass</code>
<code>$metadata-&gt;isMappedSuperclass</code>
<code>$metadata-&gt;table</code>
<code>$metadata-&gt;table</code>
<code>$metadata-&gt;table</code>
</NoInterfaceProperties>
<MoreSpecificImplementedParamType occurrences="1">
<code>$metadata</code>
</MoreSpecificImplementedParamType>
<PossiblyUndefinedMethod occurrences="18">
<code>$element</code>
<code>$element</code>
@@ -959,7 +919,10 @@
<code>$element</code>
<code>$element</code>
</PossiblyUndefinedMethod>
<UndefinedInterfaceMethod occurrences="43">
<PropertyTypeCoercion occurrences="1">
<code>$metadata-&gt;table</code>
</PropertyTypeCoercion>
<UndefinedInterfaceMethod occurrences="10">
<code>$element</code>
<code>$element</code>
<code>$element</code>
@@ -970,39 +933,6 @@
<code>$element</code>
<code>$element</code>
<code>$element</code>
<code>addEntityListener</code>
<code>addLifecycleCallback</code>
<code>addNamedNativeQuery</code>
<code>addNamedQuery</code>
<code>addSqlResultSetMapping</code>
<code>enableCache</code>
<code>getAssociationCacheDefaults</code>
<code>getAssociationCacheDefaults</code>
<code>getAssociationCacheDefaults</code>
<code>getAssociationCacheDefaults</code>
<code>mapEmbedded</code>
<code>mapField</code>
<code>mapField</code>
<code>mapManyToMany</code>
<code>mapManyToOne</code>
<code>mapOneToMany</code>
<code>mapOneToOne</code>
<code>markReadOnly</code>
<code>setAssociationOverride</code>
<code>setAttributeOverride</code>
<code>setChangeTrackingPolicy</code>
<code>setCustomGeneratorDefinition</code>
<code>setCustomRepositoryClass</code>
<code>setCustomRepositoryClass</code>
<code>setDiscriminatorColumn</code>
<code>setDiscriminatorColumn</code>
<code>setDiscriminatorMap</code>
<code>setIdGeneratorType</code>
<code>setIdGeneratorType</code>
<code>setInheritanceType</code>
<code>setPrimaryTable</code>
<code>setSequenceGeneratorDefinition</code>
<code>setVersionMapping</code>
</UndefinedInterfaceMethod>
</file>
<file src="lib/Doctrine/ORM/Mapping/Embedded.php">

View File

@@ -6,13 +6,11 @@ namespace Doctrine\Tests\Mocks;
use BadMethodCallException;
use Doctrine\Common\EventManager;
use Doctrine\DBAL\Cache\QueryCacheProfile;
use Doctrine\DBAL\Configuration;
use Doctrine\DBAL\Connection;
use Doctrine\DBAL\Driver;
use Doctrine\DBAL\Platforms\AbstractPlatform;
use Doctrine\DBAL\Result;
use Exception;
use function is_string;
use function sprintf;
@@ -22,24 +20,9 @@ use function sprintf;
*/
class ConnectionMock extends Connection
{
/** @var mixed */
private $_fetchOneResult;
/** @var Exception|null */
private $_fetchOneException;
/** @var Result|null */
private $_queryResult;
/** @var DatabasePlatformMock */
private $_platformMock;
/** @var int */
private $_lastInsertId = 0;
/** @var array */
private $_inserts = [];
/** @var array */
private $_executeStatements = [];
@@ -51,9 +34,6 @@ class ConnectionMock extends Connection
$this->_platformMock = new DatabasePlatformMock();
parent::__construct($params, $driver ?? new DriverMock(), $config, $eventManager);
// Override possible assignment of platform to database platform mock
$this->_platform = $this->_platformMock;
}
public function getDatabase(): string
@@ -74,7 +54,6 @@ class ConnectionMock extends Connection
*/
public function insert($tableName, array $data, array $types = [])
{
$this->_inserts[$tableName][] = $data;
}
/**
@@ -103,26 +82,6 @@ class ConnectionMock extends Connection
$this->_deletes[] = ['table' => $table, 'criteria' => $criteria, 'types' => $types];
}
/**
* {@inheritdoc}
*/
public function lastInsertId($seqName = null)
{
return $this->_lastInsertId;
}
/**
* {@inheritdoc}
*/
public function fetchOne(string $sql, array $params = [], array $types = [])
{
if ($this->_fetchOneException !== null) {
throw $this->_fetchOneException;
}
return $this->_fetchOneResult;
}
/**
* {@inheritdoc}
*/
@@ -136,11 +95,6 @@ class ConnectionMock extends Connection
throw new BadMethodCallException('Call to deprecated method.');
}
public function executeQuery($sql, array $params = [], $types = [], ?QueryCacheProfile $qcp = null): Result
{
return $this->_queryResult ?? parent::executeQuery($sql, $params, $types, $qcp);
}
/**
* {@inheritdoc}
*/
@@ -153,44 +107,11 @@ class ConnectionMock extends Connection
return $input;
}
/* Mock API */
/**
* @param mixed $fetchOneResult
*/
public function setFetchOneResult($fetchOneResult): void
{
$this->_fetchOneResult = $fetchOneResult;
}
public function setFetchOneException(?Exception $exception = null): void
{
$this->_fetchOneException = $exception;
}
public function setDatabasePlatform(AbstractPlatform $platform): void
{
$this->_platformMock = $platform;
}
public function setLastInsertId(int $id): void
{
$this->_lastInsertId = $id;
}
public function setQueryResult(Result $result): void
{
$this->_queryResult = $result;
}
/**
* @return array
*/
public function getInserts(): array
{
return $this->_inserts;
}
/**
* @return array
*/
@@ -206,10 +127,4 @@ class ConnectionMock extends Connection
{
return $this->_deletes;
}
public function reset(): void
{
$this->_inserts = [];
$this->_lastInsertId = 0;
}
}

View File

@@ -6,7 +6,7 @@ namespace Doctrine\Tests\Models\CMS;
use Doctrine\ORM\Events;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\ORM\Mapping\Column;
use Doctrine\ORM\Mapping\ColumnResult;
use Doctrine\ORM\Mapping\Entity;
@@ -157,7 +157,7 @@ class CmsAddress
}
}
public static function loadMetadata(ClassMetadataInfo $metadata): void
public static function loadMetadata(ClassMetadata $metadata): void
{
$metadata->setPrimaryTable(
['name' => 'company_person']

View File

@@ -6,7 +6,7 @@ namespace Doctrine\Tests\Models\CMS;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\ORM\Mapping\Column;
use Doctrine\ORM\Mapping\ColumnResult;
use Doctrine\ORM\Mapping\Entity;
@@ -336,7 +336,7 @@ class CmsUser
}
}
public static function loadMetadata(ClassMetadataInfo $metadata): void
public static function loadMetadata(ClassMetadata $metadata): void
{
$metadata->setPrimaryTable(
['name' => 'cms_users']

View File

@@ -8,7 +8,7 @@ use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\ORM\Mapping\Cache;
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\ORM\Mapping\Column;
use Doctrine\ORM\Mapping\Entity;
use Doctrine\ORM\Mapping\GeneratedValue;
@@ -136,7 +136,7 @@ class City
return $this->attractions;
}
public static function loadMetadata(ClassMetadataInfo $metadata): void
public static function loadMetadata(ClassMetadata $metadata): void
{
include __DIR__ . '/../../ORM/Mapping/php/Doctrine.Tests.Models.Cache.City.php';
}

View File

@@ -9,7 +9,6 @@ use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Events;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\Column;
use Doctrine\ORM\Mapping\DiscriminatorColumn;
use Doctrine\ORM\Mapping\DiscriminatorMap;
@@ -170,7 +169,7 @@ abstract class CompanyContract
abstract public function calculatePrice(): int;
public static function loadMetadata(ClassMetadataInfo $metadata): void
public static function loadMetadata(ClassMetadata $metadata): void
{
$metadata->setInheritanceType(ClassMetadata::INHERITANCE_TYPE_JOINED);
$metadata->setTableName('company_contracts');

View File

@@ -5,7 +5,7 @@ declare(strict_types=1);
namespace Doctrine\Tests\Models\Company;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\ORM\Mapping\Column;
use Doctrine\ORM\Mapping\Entity;
@@ -36,7 +36,7 @@ class CompanyFixContract extends CompanyContract
$this->fixPrice = $fixPrice;
}
public static function loadMetadata(ClassMetadataInfo $metadata): void
public static function loadMetadata(ClassMetadata $metadata): void
{
$metadata->mapField(
[

View File

@@ -6,7 +6,7 @@ namespace Doctrine\Tests\Models\Company;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\ORM\Mapping\Column;
use Doctrine\ORM\Mapping\Entity;
use Doctrine\ORM\Mapping\EntityResult;
@@ -140,7 +140,7 @@ class CompanyFlexContract extends CompanyContract
$this->managers->removeElement($manager);
}
public static function loadMetadata(ClassMetadataInfo $metadata): void
public static function loadMetadata(ClassMetadata $metadata): void
{
$metadata->mapField(
[

View File

@@ -6,7 +6,7 @@ namespace Doctrine\Tests\Models\Company;
use Doctrine\ORM\Events;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\ORM\Mapping\Column;
use Doctrine\ORM\Mapping\Entity;
use Doctrine\ORM\Mapping\EntityListeners;
@@ -42,7 +42,7 @@ class CompanyFlexUltraContract extends CompanyFlexContract
$this->maxPrice = $maxPrice;
}
public static function loadMetadata(ClassMetadataInfo $metadata): void
public static function loadMetadata(ClassMetadata $metadata): void
{
$metadata->mapField(
[

View File

@@ -6,7 +6,7 @@ namespace Doctrine\Tests\Models\Company;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\ORM\Mapping\Column;
use Doctrine\ORM\Mapping\DiscriminatorColumn;
use Doctrine\ORM\Mapping\DiscriminatorMap;
@@ -153,7 +153,7 @@ class CompanyPerson
}
}
public static function loadMetadata(ClassMetadataInfo $metadata): void
public static function loadMetadata(ClassMetadata $metadata): void
{
$metadata->setPrimaryTable(
['name' => 'company_person']

View File

@@ -5,7 +5,7 @@ declare(strict_types=1);
namespace Doctrine\Tests\Models\DDC1476;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\ORM\Mapping\Column;
use Doctrine\ORM\Mapping\Entity;
use Doctrine\ORM\Mapping\GeneratedValue;
@@ -48,7 +48,7 @@ class DDC1476EntityWithDefaultFieldType
$this->name = $name;
}
public static function loadMetadata(ClassMetadataInfo $metadata): void
public static function loadMetadata(ClassMetadata $metadata): void
{
$metadata->mapField(
[
@@ -60,6 +60,6 @@ class DDC1476EntityWithDefaultFieldType
['fieldName' => 'name']
);
$metadata->setIdGeneratorType(ClassMetadataInfo::GENERATOR_TYPE_NONE);
$metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_NONE);
}
}

View File

@@ -5,7 +5,7 @@ declare(strict_types=1);
namespace Doctrine\Tests\Models\DDC3579;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\ORM\Mapping\Column;
use Doctrine\ORM\Mapping\GeneratedValue;
use Doctrine\ORM\Mapping\Id;
@@ -105,6 +105,6 @@ class DDC3579User
]
);
$metadata->setIdGeneratorType(ClassMetadataInfo::GENERATOR_TYPE_AUTO);
$metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_AUTO);
}
}

View File

@@ -5,7 +5,7 @@ declare(strict_types=1);
namespace Doctrine\Tests\Models\DDC869;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\ORM\Mapping\Column;
use Doctrine\ORM\Mapping\Entity;
@@ -22,7 +22,7 @@ class DDC869ChequePayment extends DDC869Payment
#[ORM\Column(type: 'string')]
protected $serialNumber;
public static function loadMetadata(ClassMetadataInfo $metadata): void
public static function loadMetadata(ClassMetadata $metadata): void
{
$metadata->mapField(
[

View File

@@ -5,7 +5,7 @@ declare(strict_types=1);
namespace Doctrine\Tests\Models\DDC869;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\ORM\Mapping\Column;
use Doctrine\ORM\Mapping\Entity;
@@ -22,7 +22,7 @@ class DDC869CreditCardPayment extends DDC869Payment
#[ORM\Column(type: 'string')]
protected $creditCardNumber;
public static function loadMetadata(ClassMetadataInfo $metadata): void
public static function loadMetadata(ClassMetadata $metadata): void
{
$metadata->mapField(
[

View File

@@ -5,7 +5,7 @@ declare(strict_types=1);
namespace Doctrine\Tests\Models\DDC869;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\ORM\Mapping\Column;
use Doctrine\ORM\Mapping\GeneratedValue;
use Doctrine\ORM\Mapping\Id;
@@ -33,7 +33,7 @@ class DDC869Payment
#[ORM\Column(type: 'float')]
protected $value;
public static function loadMetadata(ClassMetadataInfo $metadata): void
public static function loadMetadata(ClassMetadata $metadata): void
{
$metadata->mapField(
[
@@ -51,6 +51,6 @@ class DDC869Payment
);
$metadata->isMappedSuperclass = true;
$metadata->setCustomRepositoryClass(DDC869PaymentRepository::class);
$metadata->setIdGeneratorType(ClassMetadataInfo::GENERATOR_TYPE_AUTO);
$metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_AUTO);
}
}

View File

@@ -4,7 +4,7 @@ declare(strict_types=1);
namespace Doctrine\Tests\Models\DDC889;
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\ORM\Mapping\Column;
use Doctrine\ORM\Mapping\GeneratedValue;
use Doctrine\ORM\Mapping\Id;
@@ -19,7 +19,7 @@ class DDC889Class extends DDC889SuperClass
*/
protected $id;
public static function loadMetadata(ClassMetadataInfo $metadata): void
public static function loadMetadata(ClassMetadata $metadata): void
{
$metadata->mapField(
[
@@ -30,6 +30,6 @@ class DDC889Class extends DDC889SuperClass
]
);
$metadata->setIdGeneratorType(ClassMetadataInfo::GENERATOR_TYPE_AUTO);
$metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_AUTO);
}
}

View File

@@ -5,7 +5,7 @@ declare(strict_types=1);
namespace Doctrine\Tests\Models\DDC889;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\ORM\Mapping\Entity;
/**
@@ -14,7 +14,7 @@ use Doctrine\ORM\Mapping\Entity;
#[ORM\Entity]
class DDC889Entity extends DDC889SuperClass
{
public static function loadMetadata(ClassMetadataInfo $metadata): void
public static function loadMetadata(ClassMetadata $metadata): void
{
}
}

View File

@@ -5,7 +5,7 @@ declare(strict_types=1);
namespace Doctrine\Tests\Models\DDC889;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\ORM\Mapping\Column;
use Doctrine\ORM\Mapping\MappedSuperclass;
@@ -22,13 +22,13 @@ class DDC889SuperClass
#[ORM\Column]
protected $name;
public static function loadMetadata(ClassMetadataInfo $metadata): void
public static function loadMetadata(ClassMetadata $metadata): void
{
$metadata->mapField(
['fieldName' => 'name']
);
$metadata->isMappedSuperclass = true;
$metadata->setIdGeneratorType(ClassMetadataInfo::GENERATOR_TYPE_NONE);
$metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_NONE);
}
}

View File

@@ -6,7 +6,7 @@ namespace Doctrine\Tests\Models\DDC964;
use Doctrine\ORM\Mapping\AssociationOverride;
use Doctrine\ORM\Mapping\AssociationOverrides;
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\ORM\Mapping\Entity;
use Doctrine\ORM\Mapping\JoinColumn;
use Doctrine\ORM\Mapping\JoinTable;
@@ -32,7 +32,7 @@ use Doctrine\ORM\Mapping\JoinTable;
#[AssociationOverrides([new AssociationOverride(name: 'groups', joinTable: new JoinTable(name: 'ddc964_users_admingroups'), joinColumns: [new JoinColumn(name: 'adminuser_id')], inverseJoinColumns: [new JoinColumn(name: 'admingroup_id')]), new AssociationOverride(name: 'address', joinColumns: [new JoinColumn(name: 'adminaddress_id', referencedColumnName: 'id')])])]
class DDC964Admin extends DDC964User
{
public static function loadMetadata(ClassMetadataInfo $metadata): void
public static function loadMetadata(ClassMetadata $metadata): void
{
$metadata->setAssociationOverride(
'address',

View File

@@ -6,7 +6,7 @@ namespace Doctrine\Tests\Models\DDC964;
use Doctrine\ORM\Mapping\AttributeOverride;
use Doctrine\ORM\Mapping\AttributeOverrides;
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\ORM\Mapping\Column;
use Doctrine\ORM\Mapping\Entity;
@@ -34,7 +34,7 @@ use Doctrine\ORM\Mapping\Entity;
#[AttributeOverrides([new AttributeOverride(name: 'id', column: new Column(name: 'guest_id', type: 'integer', length: 140)), new AttributeOverride(name: 'name', column: new Column(name: 'guest_name', nullable: false, unique: true, length: 240))])]
class DDC964Guest extends DDC964User
{
public static function loadMetadata(ClassMetadataInfo $metadata): void
public static function loadMetadata(ClassMetadata $metadata): void
{
$metadata->setAttributeOverride('id', [
'columnName' => 'guest_id',

View File

@@ -6,7 +6,7 @@ namespace Doctrine\Tests\Models\DDC964;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\ORM\Mapping\Column;
use Doctrine\ORM\Mapping\GeneratedValue;
use Doctrine\ORM\Mapping\Id;
@@ -107,7 +107,7 @@ class DDC964User
$this->address = $address;
}
public static function loadMetadata(ClassMetadataInfo $metadata): void
public static function loadMetadata(ClassMetadata $metadata): void
{
$metadata->isMappedSuperclass = true;
@@ -164,6 +164,6 @@ class DDC964User
]
);
$metadata->setIdGeneratorType(ClassMetadataInfo::GENERATOR_TYPE_AUTO);
$metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_AUTO);
}
}

View File

@@ -4,7 +4,7 @@ declare(strict_types=1);
namespace Doctrine\Tests\Models\Enums;
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\ORM\Mapping\Column;
use Doctrine\ORM\Mapping\Entity;
use Doctrine\ORM\Mapping\GeneratedValue;
@@ -28,7 +28,7 @@ class Card
#[Column(type: 'string', enumType: Suit::class)]
public $suit;
public static function loadMetadata(ClassMetadataInfo $metadata): void
public static function loadMetadata(ClassMetadata $metadata): void
{
$metadata->mapField(
[

View File

@@ -4,7 +4,7 @@ declare(strict_types=1);
namespace Doctrine\Tests\Models\Enums;
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\ORM\Mapping\Column;
use Doctrine\ORM\Mapping\Entity;
use Doctrine\ORM\Mapping\GeneratedValue;
@@ -28,7 +28,7 @@ class CardWithNullable
#[Column(type: 'string', nullable: true, enumType: Suit::class)]
public $suit;
public static function loadMetadata(ClassMetadataInfo $metadata): void
public static function loadMetadata(ClassMetadata $metadata): void
{
$metadata->mapField(
[

View File

@@ -4,7 +4,7 @@ declare(strict_types=1);
namespace Doctrine\Tests\Models\Enums;
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\ORM\Mapping\Column;
use Doctrine\ORM\Mapping\Entity;
use Doctrine\ORM\Mapping\GeneratedValue;
@@ -28,7 +28,7 @@ class Scale
#[Column(type: 'simple_array', enumType: Unit::class)]
public $supportedUnits;
public static function loadMetadata(ClassMetadataInfo $metadata): void
public static function loadMetadata(ClassMetadata $metadata): void
{
$metadata->mapField(
[

View File

@@ -8,7 +8,7 @@ use DateInterval;
use DateTime;
use DateTimeImmutable;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\ORM\Mapping\Column;
use Doctrine\ORM\Mapping\Embedded;
use Doctrine\ORM\Mapping\Entity;
@@ -82,9 +82,9 @@ class UserTyped
#[ORM\Embedded]
public ?Contact $contact = null;
public static function loadMetadata(ClassMetadataInfo $metadata): void
public static function loadMetadata(ClassMetadata $metadata): void
{
$metadata->setInheritanceType(ClassMetadataInfo::INHERITANCE_TYPE_NONE);
$metadata->setInheritanceType(ClassMetadata::INHERITANCE_TYPE_NONE);
$metadata->setPrimaryTable(
['name' => 'cms_users_typed']
);
@@ -95,7 +95,7 @@ class UserTyped
'fieldName' => 'id',
]
);
$metadata->setIdGeneratorType(ClassMetadataInfo::GENERATOR_TYPE_AUTO);
$metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_AUTO);
$metadata->mapField(
[

View File

@@ -5,7 +5,6 @@ declare(strict_types=1);
namespace Doctrine\Tests\Models\Upsertable;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\Column;
use Doctrine\ORM\Mapping\Entity;
use Doctrine\ORM\Mapping\GeneratedValue;
@@ -62,7 +61,7 @@ class Insertable
'fieldName' => 'nonInsertableContent',
'notInsertable' => true,
'options' => ['default' => '1234'],
'generated' => ClassMetadataInfo::GENERATED_INSERT,
'generated' => ClassMetadata::GENERATED_INSERT,
]
);
$metadata->mapField(

View File

@@ -5,7 +5,6 @@ declare(strict_types=1);
namespace Doctrine\Tests\Models\Upsertable;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\Column;
use Doctrine\ORM\Mapping\Entity;
use Doctrine\ORM\Mapping\GeneratedValue;
@@ -60,7 +59,7 @@ class Updatable
[
'fieldName' => 'nonUpdatableContent',
'notUpdatable' => true,
'generated' => ClassMetadataInfo::GENERATED_ALWAYS,
'generated' => ClassMetadata::GENERATED_ALWAYS,
]
);
$metadata->mapField(

View File

@@ -1209,7 +1209,7 @@ class BasicFunctionalTest extends OrmFunctionalTestCase
$article1 = new CmsArticle();
$article1->topic = 'Foo';
$article1->text = 'Foo Text';
$article1->author = $user;
$article1->user = $user;
$user->articles[] = $article1;
$this->expectException(InvalidArgumentException::class);

View File

@@ -9,7 +9,7 @@ use Doctrine\DBAL\Platforms\PostgreSQLPlatform;
use Doctrine\DBAL\Platforms\SQLServerPlatform;
use Doctrine\DBAL\Schema\AbstractSchemaManager;
use Doctrine\DBAL\Schema\Table;
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
use function array_change_key_case;
use function count;
@@ -117,7 +117,7 @@ class DatabaseDriverTest extends DatabaseDriverTestCase
$bazMetadata->associationMappings = array_change_key_case($bazMetadata->associationMappings, CASE_LOWER);
self::assertArrayHasKey('bar', $bazMetadata->associationMappings);
self::assertEquals(ClassMetadataInfo::MANY_TO_ONE, $bazMetadata->associationMappings['bar']['type']);
self::assertEquals(ClassMetadata::MANY_TO_ONE, $bazMetadata->associationMappings['bar']['type']);
}
public function testDetectManyToManyTables(): void

View File

@@ -4,7 +4,7 @@ declare(strict_types=1);
namespace Doctrine\Tests\ORM\Functional;
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\ORM\Mapping\Driver\DatabaseDriver;
use Doctrine\Tests\OrmFunctionalTestCase;
@@ -21,7 +21,7 @@ use function strtolower;
abstract class DatabaseDriverTestCase extends OrmFunctionalTestCase
{
/**
* @psalm-return array<string, ClassMetadataInfo>
* @psalm-return array<string, ClassMetadata>
*/
protected function convertToClassMetadata(array $entityTables, array $manyTables = []): array
{
@@ -31,7 +31,7 @@ abstract class DatabaseDriverTestCase extends OrmFunctionalTestCase
$metadatas = [];
foreach ($driver->getAllClassNames() as $className) {
$class = new ClassMetadataInfo($className);
$class = new ClassMetadata($className);
$driver->loadMetadataForClass($className, $class);
$metadatas[$className] = $class;
}
@@ -42,7 +42,7 @@ abstract class DatabaseDriverTestCase extends OrmFunctionalTestCase
/**
* @param string[] $classNames
*
* @psalm-return array<class-string, ClassMetadataInfo>
* @psalm-return array<class-string, ClassMetadata>
*/
protected function extractClassMetadata(array $classNames): array
{
@@ -57,7 +57,7 @@ abstract class DatabaseDriverTestCase extends OrmFunctionalTestCase
continue;
}
$class = new ClassMetadataInfo($className);
$class = new ClassMetadata($className);
$driver->loadMetadataForClass($className, $class);
$metadatas[$className] = $class;
}

View File

@@ -4,7 +4,7 @@ declare(strict_types=1);
namespace Doctrine\Tests\ORM\Functional;
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\Tests\Models\CMS\CmsArticle;
use Doctrine\Tests\Models\CMS\CmsGroup;
use Doctrine\Tests\Models\CMS\CmsPhonenumber;
@@ -59,11 +59,11 @@ class ExtraLazyCollectionTest extends OrmFunctionalTestCase
parent::setUp();
$class = $this->_em->getClassMetadata(CmsUser::class);
$class->associationMappings['groups']['fetch'] = ClassMetadataInfo::FETCH_EXTRA_LAZY;
$class->associationMappings['groups']['fetch'] = ClassMetadata::FETCH_EXTRA_LAZY;
$class->associationMappings['groups']['indexBy'] = 'name';
$class->associationMappings['articles']['fetch'] = ClassMetadataInfo::FETCH_EXTRA_LAZY;
$class->associationMappings['articles']['fetch'] = ClassMetadata::FETCH_EXTRA_LAZY;
$class->associationMappings['articles']['indexBy'] = 'topic';
$class->associationMappings['phonenumbers']['fetch'] = ClassMetadataInfo::FETCH_EXTRA_LAZY;
$class->associationMappings['phonenumbers']['fetch'] = ClassMetadata::FETCH_EXTRA_LAZY;
$class->associationMappings['phonenumbers']['indexBy'] = 'phonenumber';
foreach (['phonenumbers', 'articles', 'users'] as $field) {
@@ -75,7 +75,7 @@ class ExtraLazyCollectionTest extends OrmFunctionalTestCase
}
$class = $this->_em->getClassMetadata(CmsGroup::class);
$class->associationMappings['users']['fetch'] = ClassMetadataInfo::FETCH_EXTRA_LAZY;
$class->associationMappings['users']['fetch'] = ClassMetadata::FETCH_EXTRA_LAZY;
$class->associationMappings['users']['indexBy'] = 'username';
$this->loadFixture();
@@ -86,9 +86,9 @@ class ExtraLazyCollectionTest extends OrmFunctionalTestCase
parent::tearDown();
$class = $this->_em->getClassMetadata(CmsUser::class);
$class->associationMappings['groups']['fetch'] = ClassMetadataInfo::FETCH_LAZY;
$class->associationMappings['articles']['fetch'] = ClassMetadataInfo::FETCH_LAZY;
$class->associationMappings['phonenumbers']['fetch'] = ClassMetadataInfo::FETCH_LAZY;
$class->associationMappings['groups']['fetch'] = ClassMetadata::FETCH_LAZY;
$class->associationMappings['articles']['fetch'] = ClassMetadata::FETCH_LAZY;
$class->associationMappings['phonenumbers']['fetch'] = ClassMetadata::FETCH_LAZY;
foreach (['phonenumbers', 'articles', 'users'] as $field) {
if (isset($this->previousCacheConfig[$field])) {
@@ -102,7 +102,7 @@ class ExtraLazyCollectionTest extends OrmFunctionalTestCase
unset($class->associationMappings['phonenumbers']['indexBy']);
$class = $this->_em->getClassMetadata(CmsGroup::class);
$class->associationMappings['users']['fetch'] = ClassMetadataInfo::FETCH_LAZY;
$class->associationMappings['users']['fetch'] = ClassMetadata::FETCH_LAZY;
unset($class->associationMappings['users']['indexBy']);
}

View File

@@ -23,8 +23,6 @@ class LockTest extends OrmFunctionalTestCase
{
$this->useModelSet('cms');
parent::setUp();
$this->handles = [];
}
/**

View File

@@ -5,7 +5,6 @@ declare(strict_types=1);
namespace Doctrine\Tests\ORM\Functional;
use Doctrine\Common\Util\ClassUtils;
use Doctrine\ORM\Proxy\ProxyFactory;
use Doctrine\Persistence\Proxy;
use Doctrine\Tests\Models\Company\CompanyAuction;
use Doctrine\Tests\Models\ECommerce\ECommerceProduct;
@@ -31,12 +30,6 @@ class ReferenceProxyTest extends OrmFunctionalTestCase
$this->useModelSet('ecommerce');
$this->useModelSet('company');
parent::setUp();
$this->_factory = new ProxyFactory(
$this->_em,
__DIR__ . '/../../Proxies',
'Doctrine\Tests\Proxies',
true
);
}
public function createProduct(): int

View File

@@ -9,7 +9,6 @@ use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Configuration;
use Doctrine\ORM\EntityManagerInterface;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Query\Filter\FilterException;
use Doctrine\ORM\Query\Filter\SQLFilter;
use Doctrine\ORM\Query\FilterCollection;
@@ -93,8 +92,8 @@ class SQLFilterTest extends OrmFunctionalTestCase
parent::tearDown();
$class = $this->_em->getClassMetadata(CmsUser::class);
$class->associationMappings['groups']['fetch'] = ClassMetadataInfo::FETCH_LAZY;
$class->associationMappings['articles']['fetch'] = ClassMetadataInfo::FETCH_LAZY;
$class->associationMappings['groups']['fetch'] = ClassMetadata::FETCH_LAZY;
$class->associationMappings['articles']['fetch'] = ClassMetadata::FETCH_LAZY;
}
public function testConfigureFilter(): void
@@ -589,8 +588,8 @@ class SQLFilterTest extends OrmFunctionalTestCase
private function loadLazyFixtureData(): void
{
$class = $this->_em->getClassMetadata(CmsUser::class);
$class->associationMappings['articles']['fetch'] = ClassMetadataInfo::FETCH_EXTRA_LAZY;
$class->associationMappings['groups']['fetch'] = ClassMetadataInfo::FETCH_EXTRA_LAZY;
$class->associationMappings['articles']['fetch'] = ClassMetadata::FETCH_EXTRA_LAZY;
$class->associationMappings['groups']['fetch'] = ClassMetadata::FETCH_EXTRA_LAZY;
$this->loadFixtureData();
}

View File

@@ -16,6 +16,9 @@ use function str_contains;
class DBAL483Test extends OrmFunctionalTestCase
{
/** @var Tools\SchemaTool */
private $schemaTool;
protected function setUp(): void
{
parent::setUp();

View File

@@ -26,6 +26,12 @@ use function get_class;
*/
class DDC1163Test extends OrmFunctionalTestCase
{
/** @var int|null */
private $productId;
/** @var int|null */
private $proxyHolderId;
protected function setUp(): void
{
parent::setUp();

View File

@@ -38,16 +38,12 @@ class DDC1193Test extends OrmFunctionalTestCase
$account = new DDC1193Account();
$person->account = $account;
$person->company = $company;
$company->member = $person;
$this->_em->persist($company);
$this->_em->flush();
$companyId = $company->id;
$accountId = $account->id;
$this->_em->clear();
$company = $this->_em->find(get_class($company), $companyId);

View File

@@ -4,7 +4,7 @@ declare(strict_types=1);
namespace Doctrine\Tests\ORM\Functional\Ticket;
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\Tests\Models;
use Doctrine\Tests\OrmFunctionalTestCase;
@@ -23,9 +23,9 @@ class DDC1301Test extends OrmFunctionalTestCase
parent::setUp();
$class = $this->_em->getClassMetadata(Models\Legacy\LegacyUser::class);
$class->associationMappings['articles']['fetch'] = ClassMetadataInfo::FETCH_EXTRA_LAZY;
$class->associationMappings['references']['fetch'] = ClassMetadataInfo::FETCH_EXTRA_LAZY;
$class->associationMappings['cars']['fetch'] = ClassMetadataInfo::FETCH_EXTRA_LAZY;
$class->associationMappings['articles']['fetch'] = ClassMetadata::FETCH_EXTRA_LAZY;
$class->associationMappings['references']['fetch'] = ClassMetadata::FETCH_EXTRA_LAZY;
$class->associationMappings['cars']['fetch'] = ClassMetadata::FETCH_EXTRA_LAZY;
$this->loadFixture();
}
@@ -35,9 +35,9 @@ class DDC1301Test extends OrmFunctionalTestCase
parent::tearDown();
$class = $this->_em->getClassMetadata(Models\Legacy\LegacyUser::class);
$class->associationMappings['articles']['fetch'] = ClassMetadataInfo::FETCH_LAZY;
$class->associationMappings['references']['fetch'] = ClassMetadataInfo::FETCH_LAZY;
$class->associationMappings['cars']['fetch'] = ClassMetadataInfo::FETCH_LAZY;
$class->associationMappings['articles']['fetch'] = ClassMetadata::FETCH_LAZY;
$class->associationMappings['references']['fetch'] = ClassMetadata::FETCH_LAZY;
$class->associationMappings['cars']['fetch'] = ClassMetadata::FETCH_LAZY;
}
public function testCountNotInitializesLegacyCollection(): void
@@ -90,17 +90,14 @@ class DDC1301Test extends OrmFunctionalTestCase
$user1 = new Models\Legacy\LegacyUser();
$user1->username = 'beberlei';
$user1->name = 'Benjamin';
$user1->_status = 'active';
$user2 = new Models\Legacy\LegacyUser();
$user2->username = 'jwage';
$user2->name = 'Jonathan';
$user2->_status = 'active';
$user3 = new Models\Legacy\LegacyUser();
$user3->username = 'romanb';
$user3->name = 'Roman';
$user3->_status = 'active';
$this->_em->persist($user1);
$this->_em->persist($user2);

View File

@@ -25,7 +25,6 @@ class DDC1885Test extends OrmFunctionalTestCase
$user = new User();
$user->name = 'FabioBatSilva';
$user->email = 'fabio.bat.silva@gmail.com';
$user->groups[] = new Group('G 1');
$user->groups[] = new Group('G 2');
$this->user = $user;

View File

@@ -5,7 +5,7 @@ declare(strict_types=1);
namespace Doctrine\Tests\ORM\Functional\Ticket;
use Doctrine\DBAL\Schema\Table;
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\Tests\ORM\Functional\DatabaseDriverTestCase;
class DDC2387Test extends DatabaseDriverTestCase
@@ -27,7 +27,7 @@ class DDC2387Test extends DatabaseDriverTestCase
$metadata = $this->convertToClassMetadata([$product, $attributes], []);
self::assertEquals(ClassMetadataInfo::GENERATOR_TYPE_NONE, $metadata['Ddc2387Attributes']->generatorType);
self::assertEquals(ClassMetadataInfo::GENERATOR_TYPE_AUTO, $metadata['Ddc2387Product']->generatorType);
self::assertEquals(ClassMetadata::GENERATOR_TYPE_NONE, $metadata['Ddc2387Attributes']->generatorType);
self::assertEquals(ClassMetadata::GENERATOR_TYPE_AUTO, $metadata['Ddc2387Product']->generatorType);
}
}

View File

@@ -6,7 +6,7 @@ namespace Doctrine\Tests\ORM\Functional\Ticket;
use Doctrine\ORM\EntityManagerInterface;
use Doctrine\ORM\Id\AbstractIdGenerator;
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\ORM\Mapping\Driver\StaticPHPDriver;
use Doctrine\Tests\OrmFunctionalTestCase;
@@ -63,7 +63,7 @@ class DDC2415ParentEntity
return $this->id;
}
public static function loadMetadata(ClassMetadataInfo $metadata): void
public static function loadMetadata(ClassMetadata $metadata): void
{
$metadata->mapField(
[
@@ -73,7 +73,7 @@ class DDC2415ParentEntity
]
);
$metadata->setIdGeneratorType(ClassMetadataInfo::GENERATOR_TYPE_CUSTOM);
$metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_CUSTOM);
$metadata->setCustomGeneratorDefinition(['class' => DDC2415Generator::class]);
$metadata->isMappedSuperclass = true;
@@ -95,7 +95,7 @@ class DDC2415ChildEntity extends DDC2415ParentEntity
return $this->name;
}
public static function loadMetadata(ClassMetadataInfo $metadata): void
public static function loadMetadata(ClassMetadata $metadata): void
{
$metadata->mapField(
[

View File

@@ -60,17 +60,14 @@ class DDC2519Test extends OrmFunctionalTestCase
$user1 = new LegacyUser();
$user1->username = 'FabioBatSilva';
$user1->name = 'Fabio B. Silva';
$user1->_status = 'active';
$user2 = new LegacyUser();
$user2->username = 'doctrinebot';
$user2->name = 'Doctrine Bot';
$user2->_status = 'active';
$user3 = new LegacyUser();
$user3->username = 'test';
$user3->name = 'Tester';
$user3->_status = 'active';
$this->_em->persist($user1);
$this->_em->persist($user2);

View File

@@ -18,7 +18,7 @@ use function unserialize;
class DDC3103Test extends OrmFunctionalTestCase
{
/**
* @covers \Doctrine\ORM\Mapping\ClassMetadataInfo::__sleep
* @covers \Doctrine\ORM\Mapping\ClassMetadata::__sleep
*/
public function testIssue(): void
{

View File

@@ -77,7 +77,6 @@ class DDC522Test extends OrmFunctionalTestCase
public function testJoinColumnWithNullSameNameAssociationField(): void
{
$fkCust = new DDC522ForeignKeyTest();
$fkCust->name = 'name';
$fkCust->cart = null;
$this->_em->persist($fkCust);
@@ -153,13 +152,13 @@ class DDC522ForeignKeyTest
public $id;
/**
* @var int
* @var int|null
* @Column(type="integer", name="cart_id", nullable=true)
*/
public $cartId;
/**
* @var DDC522Cart
* @var DDC522Cart|null
* @OneToOne(targetEntity="DDC522Cart")
* @JoinColumn(name="cart_id", referencedColumnName="id")
*/

View File

@@ -135,7 +135,6 @@ class Lemma
public function __construct()
{
$this->types = new ArrayCollection();
$this->relations = new ArrayCollection();
}

View File

@@ -4,7 +4,7 @@ declare(strict_types=1);
namespace Doctrine\Test\ORM\Functional\Ticket;
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\Tests\OrmFunctionalTestCase;
final class GH6682Test extends OrmFunctionalTestCase
@@ -20,7 +20,7 @@ final class GH6682Test extends OrmFunctionalTestCase
'initialValue' => '',
];
$classMetadataInfo = new ClassMetadataInfo('test_entity');
$classMetadataInfo = new ClassMetadata('test_entity');
$classMetadataInfo->setSequenceGeneratorDefinition($parsedDefinition);
self::assertSame(

View File

@@ -20,8 +20,6 @@ class Ticket2481Test extends OrmFunctionalTestCase
$this->_schemaTool->createSchema([
$this->_em->getClassMetadata(Ticket2481Product::class),
]);
$this->_conn = $this->_em->getConnection();
}
public function testEmptyInsert(): void

View File

@@ -4,52 +4,46 @@ declare(strict_types=1);
namespace Doctrine\Tests\ORM\Id;
use BadMethodCallException;
use Doctrine\ORM\EntityManagerInterface;
use Doctrine\DBAL\Connection;
use Doctrine\DBAL\Driver;
use Doctrine\DBAL\Platforms\AbstractPlatform;
use Doctrine\ORM\Id\SequenceGenerator;
use Doctrine\Tests\Mocks\ArrayResultFactory;
use Doctrine\Tests\Mocks\ConnectionMock;
use Doctrine\Tests\OrmTestCase;
class SequenceGeneratorTest extends OrmTestCase
{
/** @var EntityManagerInterface */
private $entityManager;
/** @var SequenceGenerator */
private $sequenceGenerator;
/** @var ConnectionMock */
private $connection;
protected function setUp(): void
{
parent::setUp();
$this->entityManager = $this->getTestEntityManager();
$this->sequenceGenerator = new SequenceGenerator('seq', 10);
$this->connection = $this->entityManager->getConnection();
self::assertInstanceOf(ConnectionMock::class, $this->connection);
}
public function testGeneration(): void
{
$this->connection->setFetchOneException(new BadMethodCallException(
'Fetch* method used. Query method should be used instead, '
. 'as NEXTVAL should be run on a master server in master-slave setup.'
));
$sequenceGenerator = new SequenceGenerator('seq', 10);
$platform = $this->createMock(AbstractPlatform::class);
$platform->method('getSequenceNextValSQL')
->willReturn('');
$connection = $this->getMockBuilder(Connection::class)
->setConstructorArgs([[], $this->createMock(Driver::class)])
->setMethods(['fetchOne', 'getDatabasePlatform'])
->getMock();
$connection->method('getDatabasePlatform')
->willReturn($platform);
// Sequence values should be generated once per ten identifiers
$connection->expects($this->exactly(5))
->method('fetchOne')
->willReturnCallback(static function () use (&$i) {
self::assertEquals(0, $i % 10);
return $i;
});
$entityManager = $this->getTestEntityManager($connection);
for ($i = 0; $i < 42; ++$i) {
if ($i % 10 === 0) {
$this->connection->setQueryResult(ArrayResultFactory::createFromArray([[(int) ($i / 10) * 10]]));
}
$id = $this->sequenceGenerator->generateId($this->entityManager, null);
$id = $sequenceGenerator->generateId($entityManager, null);
self::assertSame($i, $id);
self::assertSame((int) ($i / 10) * 10 + 10, $this->sequenceGenerator->getCurrentMaxValue());
self::assertSame($i + 1, $this->sequenceGenerator->getNextValue());
self::assertSame((int) ($i / 10) * 10 + 10, $sequenceGenerator->getCurrentMaxValue());
self::assertSame($i + 1, $sequenceGenerator->getNextValue());
}
}
}

View File

@@ -10,7 +10,6 @@ use Doctrine\ORM\Events;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\ORM\Mapping\ClassMetadataFactory;
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\Column;
use Doctrine\ORM\Mapping\CustomIdGenerator;
use Doctrine\ORM\Mapping\DefaultNamingStrategy;
@@ -556,7 +555,7 @@ abstract class AbstractMappingDriverTest extends OrmTestCase
self::assertEquals('id', $class->fieldMappings['id']['columnName']);
self::assertEquals('name', $class->fieldMappings['name']['columnName']);
self::assertEquals(ClassMetadataInfo::GENERATOR_TYPE_NONE, $class->generatorType);
self::assertEquals(ClassMetadata::GENERATOR_TYPE_NONE, $class->generatorType);
}
/**
@@ -1155,7 +1154,7 @@ abstract class AbstractMappingDriverTest extends OrmTestCase
self::assertArrayHasKey('notInsertable', $mapping);
self::assertArrayHasKey('generated', $mapping);
self::assertSame(ClassMetadataInfo::GENERATED_INSERT, $mapping['generated']);
self::assertSame(ClassMetadata::GENERATED_INSERT, $mapping['generated']);
self::assertArrayNotHasKey('notInsertable', $metadata->getFieldMapping('insertableContent'));
}
@@ -1167,7 +1166,7 @@ abstract class AbstractMappingDriverTest extends OrmTestCase
self::assertArrayHasKey('notUpdatable', $mapping);
self::assertArrayHasKey('generated', $mapping);
self::assertSame(ClassMetadataInfo::GENERATED_ALWAYS, $mapping['generated']);
self::assertSame(ClassMetadata::GENERATED_ALWAYS, $mapping['generated']);
self::assertArrayNotHasKey('notUpdatable', $metadata->getFieldMapping('updatableContent'));
}
@@ -1289,16 +1288,16 @@ class User
{
}
public static function loadMetadata(ClassMetadataInfo $metadata): void
public static function loadMetadata(ClassMetadata $metadata): void
{
$metadata->setInheritanceType(ClassMetadataInfo::INHERITANCE_TYPE_NONE);
$metadata->setInheritanceType(ClassMetadata::INHERITANCE_TYPE_NONE);
$metadata->setPrimaryTable(
[
'name' => 'cms_users',
'options' => ['foo' => 'bar', 'baz' => ['key' => 'val']],
]
);
$metadata->setChangeTrackingPolicy(ClassMetadataInfo::CHANGETRACKING_DEFERRED_IMPLICIT);
$metadata->setChangeTrackingPolicy(ClassMetadata::CHANGETRACKING_DEFERRED_IMPLICIT);
$metadata->addLifecycleCallback('doStuffOnPrePersist', 'prePersist');
$metadata->addLifecycleCallback('doOtherStuffOnPrePersistToo', 'prePersist');
$metadata->addLifecycleCallback('doStuffOnPostPersist', 'postPersist');
@@ -1333,7 +1332,7 @@ class User
$mapping = ['fieldName' => 'version', 'type' => 'integer'];
$metadata->setVersionMapping($mapping);
$metadata->mapField($mapping);
$metadata->setIdGeneratorType(ClassMetadataInfo::GENERATOR_TYPE_AUTO);
$metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_AUTO);
$metadata->mapOneToOne(
[
'fieldName' => 'address',
@@ -1458,9 +1457,9 @@ class UserIncorrectIndex
*/
public $email;
public static function loadMetadata(ClassMetadataInfo $metadata): void
public static function loadMetadata(ClassMetadata $metadata): void
{
$metadata->setInheritanceType(ClassMetadataInfo::INHERITANCE_TYPE_NONE);
$metadata->setInheritanceType(ClassMetadata::INHERITANCE_TYPE_NONE);
$metadata->setPrimaryTable([]);
$metadata->mapField(
[
@@ -1517,9 +1516,9 @@ class UserIncorrectUniqueConstraint
*/
public $email;
public static function loadMetadata(ClassMetadataInfo $metadata): void
public static function loadMetadata(ClassMetadata $metadata): void
{
$metadata->setInheritanceType(ClassMetadataInfo::INHERITANCE_TYPE_NONE);
$metadata->setInheritanceType(ClassMetadata::INHERITANCE_TYPE_NONE);
$metadata->setPrimaryTable([]);
$metadata->mapField(
[
@@ -1569,9 +1568,9 @@ abstract class Animal
#[ORM\CustomIdGenerator(class: 'stdClass')]
public $id;
public static function loadMetadata(ClassMetadataInfo $metadata): void
public static function loadMetadata(ClassMetadata $metadata): void
{
$metadata->setIdGeneratorType(ClassMetadataInfo::GENERATOR_TYPE_CUSTOM);
$metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_CUSTOM);
$metadata->setCustomGeneratorDefinition(['class' => 'stdClass']);
}
}
@@ -1580,7 +1579,7 @@ abstract class Animal
#[ORM\Entity]
class Cat extends Animal
{
public static function loadMetadata(ClassMetadataInfo $metadata): void
public static function loadMetadata(ClassMetadata $metadata): void
{
}
}
@@ -1589,7 +1588,7 @@ class Cat extends Animal
#[ORM\Entity]
class Dog extends Animal
{
public static function loadMetadata(ClassMetadataInfo $metadata): void
public static function loadMetadata(ClassMetadata $metadata): void
{
}
}
@@ -1632,7 +1631,7 @@ class DDC1170Entity
return $this->value;
}
public static function loadMetadata(ClassMetadataInfo $metadata): void
public static function loadMetadata(ClassMetadata $metadata): void
{
$metadata->mapField(
[
@@ -1649,7 +1648,7 @@ class DDC1170Entity
]
);
$metadata->setIdGeneratorType(ClassMetadataInfo::GENERATOR_TYPE_NONE);
$metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_NONE);
}
}
@@ -1673,7 +1672,7 @@ class DDC807Entity
#[ORM\Id, ORM\Column(type: 'integer'), ORM\GeneratedValue(strategy: 'NONE')]
public $id;
public static function loadMetadata(ClassMetadataInfo $metadata): void
public static function loadMetadata(ClassMetadata $metadata): void
{
$metadata->mapField(
[
@@ -1690,7 +1689,7 @@ class DDC807Entity
]
);
$metadata->setIdGeneratorType(ClassMetadataInfo::GENERATOR_TYPE_NONE);
$metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_NONE);
}
}
@@ -1726,9 +1725,9 @@ class Comment
#[ORM\Column(type: 'text')]
private $content;
public static function loadMetadata(ClassMetadataInfo $metadata): void
public static function loadMetadata(ClassMetadata $metadata): void
{
$metadata->setInheritanceType(ClassMetadataInfo::INHERITANCE_TYPE_NONE);
$metadata->setInheritanceType(ClassMetadata::INHERITANCE_TYPE_NONE);
$metadata->setPrimaryTable(
[
'indexes' => [
@@ -1773,7 +1772,7 @@ class SingleTableEntityNoDiscriminatorColumnMapping
#[ORM\Id, ORM\Column(type: 'integer'), ORM\GeneratedValue(strategy: 'NONE')]
public $id;
public static function loadMetadata(ClassMetadataInfo $metadata): void
public static function loadMetadata(ClassMetadata $metadata): void
{
$metadata->mapField(
[
@@ -1782,7 +1781,7 @@ class SingleTableEntityNoDiscriminatorColumnMapping
]
);
$metadata->setIdGeneratorType(ClassMetadataInfo::GENERATOR_TYPE_NONE);
$metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_NONE);
}
}
@@ -1816,7 +1815,7 @@ class SingleTableEntityIncompleteDiscriminatorColumnMapping
#[ORM\Id, ORM\Column(type: 'integer'), ORM\GeneratedValue(strategy: 'NONE')]
public $id;
public static function loadMetadata(ClassMetadataInfo $metadata): void
public static function loadMetadata(ClassMetadata $metadata): void
{
$metadata->mapField(
[
@@ -1825,7 +1824,7 @@ class SingleTableEntityIncompleteDiscriminatorColumnMapping
]
);
$metadata->setIdGeneratorType(ClassMetadataInfo::GENERATOR_TYPE_NONE);
$metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_NONE);
}
}
@@ -1856,7 +1855,7 @@ class ReservedWordInTableColumn
#[ORM\Column(name: '`count`', type: 'integer')]
public $count;
public static function loadMetadata(ClassMetadataInfo $metadata): void
public static function loadMetadata(ClassMetadata $metadata): void
{
$metadata->mapField(
[

View File

@@ -26,6 +26,7 @@ use Doctrine\ORM\Mapping\MappingException;
use Doctrine\ORM\Mapping\OneToMany;
use Doctrine\ORM\Mapping\PostLoad;
use Doctrine\ORM\Mapping\PreUpdate;
use Doctrine\Persistence\Mapping\Driver\AnnotationDriver as PersistenceAnnotationDriver;
use Doctrine\Persistence\Mapping\Driver\MappingDriver;
use Doctrine\Persistence\Mapping\RuntimeReflectionService;
use Doctrine\Tests\Models\CMS\CmsUser;
@@ -36,6 +37,9 @@ use Doctrine\Tests\Models\DirectoryTree\File;
use Doctrine\Tests\Models\ECommerce\ECommerceCart;
use Generator;
use function class_exists;
use function is_subclass_of;
class AnnotationDriverTest extends AbstractMappingDriverTest
{
/**
@@ -303,6 +307,15 @@ class AnnotationDriverTest extends AbstractMappingDriverTest
yield [DiscriminatorColumnWithZeroLength::class, 0];
yield [DiscriminatorColumnWithNonZeroLength::class, 60];
}
public function testLegacyInheritance(): void
{
if (! class_exists(PersistenceAnnotationDriver::class)) {
self::markTestSkipped('This test requires doctrine/persistence 2.');
}
self::assertTrue(is_subclass_of(AnnotationDriver::class, PersistenceAnnotationDriver::class));
}
}
/**

View File

@@ -8,9 +8,13 @@ use Attribute;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\ORM\Mapping\Annotation;
use Doctrine\ORM\Mapping\Driver\AttributeDriver;
use Doctrine\Persistence\Mapping\Driver\AnnotationDriver as PersistenceAnnotationDriver;
use Doctrine\Persistence\Mapping\Driver\MappingDriver;
use stdClass;
use function class_exists;
use function is_subclass_of;
use const PHP_VERSION_ID;
class AttributeDriverTest extends AbstractMappingDriverTest
@@ -110,6 +114,15 @@ class AttributeDriverTest extends AbstractMappingDriverTest
self::assertFalse($driver->isTransient(AttributeEntityStartingWithRepeatableAttributes::class));
}
public function testLegacyInheritance(): void
{
if (! class_exists(PersistenceAnnotationDriver::class)) {
self::markTestSkipped('This test requires doctrine/persistence 2.');
}
self::assertTrue(is_subclass_of(AttributeDriver::class, PersistenceAnnotationDriver::class));
}
}
#[ORM\Entity]

View File

@@ -5,7 +5,7 @@ declare(strict_types=1);
namespace Doctrine\Tests\ORM\Mapping;
use Doctrine\ORM\Mapping\Builder\ClassMetadataBuilder;
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\Tests\Models\CMS\CmsUser;
use Doctrine\Tests\OrmTestCase;
@@ -13,7 +13,7 @@ class FieldBuilderTest extends OrmTestCase
{
public function testCustomIdGeneratorCanBeSet(): void
{
$cmBuilder = new ClassMetadataBuilder(new ClassMetadataInfo(CmsUser::class));
$cmBuilder = new ClassMetadataBuilder(new ClassMetadata(CmsUser::class));
$fieldBuilder = $cmBuilder->createField('aField', 'string');
@@ -22,7 +22,7 @@ class FieldBuilderTest extends OrmTestCase
$fieldBuilder->build();
self::assertEquals(ClassMetadataInfo::GENERATOR_TYPE_CUSTOM, $cmBuilder->getClassMetadata()->generatorType);
self::assertEquals(ClassMetadata::GENERATOR_TYPE_CUSTOM, $cmBuilder->getClassMetadata()->generatorType);
self::assertEquals(['class' => 'stdClass'], $cmBuilder->getClassMetadata()->customGeneratorDefinition);
}
}

View File

@@ -22,7 +22,7 @@ class PHPMappingDriverTest extends AbstractMappingDriverTest
// Convert Annotation mapping information to PHP
// Uncomment this code if annotations changed and you want to update the PHP code
// for the same mapping information
// $meta = new \Doctrine\ORM\Mapping\ClassMetadataInfo("Doctrine\Tests\ORM\Mapping\Animal");
// $meta = new \Doctrine\ORM\Mapping\ClassMetadata("Doctrine\Tests\ORM\Mapping\Animal");
// $driver = $this->createAnnotationDriver();
// $driver->loadMetadataForClass("Doctrine\Tests\ORM\Mapping\Animal", $meta);
// $exporter = $cme->getExporter('php', $path);

View File

@@ -21,6 +21,9 @@ use function unlink;
*/
abstract class AbstractDriverTest extends TestCase
{
/** @var string */
private $dir;
public function testFindMappingFile(): void
{
$driver = $this->getDriver(

View File

@@ -2,19 +2,19 @@
declare(strict_types=1);
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\Tests\Models\Cache\Attraction;
use Doctrine\Tests\Models\Cache\State;
use Doctrine\Tests\Models\Cache\Travel;
$metadata->setInheritanceType(ClassMetadataInfo::INHERITANCE_TYPE_NONE);
$metadata->setInheritanceType(ClassMetadata::INHERITANCE_TYPE_NONE);
$metadata->setPrimaryTable(['name' => 'cache_city']);
$metadata->setIdGeneratorType(ClassMetadataInfo::GENERATOR_TYPE_IDENTITY);
$metadata->setChangeTrackingPolicy(ClassMetadataInfo::CHANGETRACKING_DEFERRED_IMPLICIT);
$metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_IDENTITY);
$metadata->setChangeTrackingPolicy(ClassMetadata::CHANGETRACKING_DEFERRED_IMPLICIT);
$metadata->enableCache(
[
'usage' => ClassMetadataInfo::CACHE_USAGE_READ_ONLY,
'usage' => ClassMetadata::CACHE_USAGE_READ_ONLY,
]
);
@@ -49,7 +49,7 @@ $metadata->mapOneToOne(
]
);
$metadata->enableAssociationCache('state', [
'usage' => ClassMetadataInfo::CACHE_USAGE_READ_ONLY,
'usage' => ClassMetadata::CACHE_USAGE_READ_ONLY,
]);
$metadata->mapManyToMany(
@@ -69,5 +69,5 @@ $metadata->mapOneToMany(
]
);
$metadata->enableAssociationCache('attractions', [
'usage' => ClassMetadataInfo::CACHE_USAGE_READ_ONLY,
'usage' => ClassMetadata::CACHE_USAGE_READ_ONLY,
]);

View File

@@ -3,9 +3,9 @@
declare(strict_types=1);
use Doctrine\ORM\Events;
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
$metadata->setInheritanceType(ClassMetadataInfo::INHERITANCE_TYPE_JOINED);
$metadata->setInheritanceType(ClassMetadata::INHERITANCE_TYPE_JOINED);
$metadata->setTableName('company_contracts');
$metadata->setDiscriminatorColumn(
[

View File

@@ -2,7 +2,7 @@
declare(strict_types=1);
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
$metadata->mapField(
[
@@ -13,4 +13,4 @@ $metadata->mapField(
$metadata->mapField(
['fieldName' => 'name']
);
$metadata->setIdGeneratorType(ClassMetadataInfo::GENERATOR_TYPE_NONE);
$metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_NONE);

View File

@@ -2,7 +2,7 @@
declare(strict_types=1);
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
$metadata->isMappedSuperclass = true;
@@ -34,4 +34,4 @@ $metadata->mapManyToMany(
]
);
$metadata->setIdGeneratorType(ClassMetadataInfo::GENERATOR_TYPE_AUTO);
$metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_AUTO);

View File

@@ -2,7 +2,7 @@
declare(strict_types=1);
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\Tests\Models\DDC869\DDC869PaymentRepository;
$metadata->mapField(
@@ -21,4 +21,4 @@ $metadata->mapField(
);
$metadata->isMappedSuperclass = true;
$metadata->setCustomRepositoryClass(DDC869PaymentRepository::class);
$metadata->setIdGeneratorType(ClassMetadataInfo::GENERATOR_TYPE_AUTO);
$metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_AUTO);

View File

@@ -11,4 +11,4 @@ $metadata->mapField(
]
);
//$metadata->setIdGeneratorType(ClassMetadataInfo::GENERATOR_TYPE_AUTO);
//$metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_AUTO);

View File

@@ -2,7 +2,7 @@
declare(strict_types=1);
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\Tests\Models\DDC889\DDC889SuperClass;
$metadata->mapField(
@@ -13,4 +13,4 @@ $metadata->mapField(
);
$metadata->isMappedSuperclass = true;
$metadata->setCustomRepositoryClass(DDC889SuperClass::class);
$metadata->setIdGeneratorType(ClassMetadataInfo::GENERATOR_TYPE_AUTO);
$metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_AUTO);

View File

@@ -2,7 +2,7 @@
declare(strict_types=1);
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
$metadata->isMappedSuperclass = true;
@@ -59,4 +59,4 @@ $metadata->mapManyToMany(
]
);
$metadata->setIdGeneratorType(ClassMetadataInfo::GENERATOR_TYPE_AUTO);
$metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_AUTO);

View File

@@ -2,9 +2,9 @@
declare(strict_types=1);
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
$metadata->setInheritanceType(ClassMetadataInfo::INHERITANCE_TYPE_NONE);
$metadata->setInheritanceType(ClassMetadata::INHERITANCE_TYPE_NONE);
$metadata->setPrimaryTable(
['name' => 'cms_users_typed']
);
@@ -15,7 +15,7 @@ $metadata->mapField(
'fieldName' => 'id',
]
);
$metadata->setIdGeneratorType(ClassMetadataInfo::GENERATOR_TYPE_AUTO);
$metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_AUTO);
$metadata->mapField(
[

View File

@@ -2,7 +2,7 @@
declare(strict_types=1);
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
$metadata->setPrimaryTable(
['name' => 'insertable_column']
@@ -14,14 +14,14 @@ $metadata->mapField(
'fieldName' => 'id',
]
);
$metadata->setIdGeneratorType(ClassMetadataInfo::GENERATOR_TYPE_AUTO);
$metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_AUTO);
$metadata->mapField(
[
'fieldName' => 'nonInsertableContent',
'notInsertable' => true,
'options' => ['default' => '1234'],
'generated' => ClassMetadataInfo::GENERATED_INSERT,
'generated' => ClassMetadata::GENERATED_INSERT,
]
);
$metadata->mapField(

View File

@@ -2,7 +2,7 @@
declare(strict_types=1);
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
$metadata->setPrimaryTable(
['name' => 'updatable_column']
@@ -14,13 +14,13 @@ $metadata->mapField(
'fieldName' => 'id',
]
);
$metadata->setIdGeneratorType(ClassMetadataInfo::GENERATOR_TYPE_AUTO);
$metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_AUTO);
$metadata->mapField(
[
'fieldName' => 'nonUpdatableContent',
'notUpdatable' => true,
'generated' => ClassMetadataInfo::GENERATED_ALWAYS,
'generated' => ClassMetadata::GENERATED_ALWAYS,
]
);
$metadata->mapField(

View File

@@ -2,12 +2,12 @@
declare(strict_types=1);
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\Tests\ORM\Mapping\Cat;
use Doctrine\Tests\ORM\Mapping\Dog;
/** @var ClassMetadataInfo $metadata */
$metadata->setInheritanceType(ClassMetadataInfo::INHERITANCE_TYPE_SINGLE_TABLE);
/** @var ClassMetadata $metadata */
$metadata->setInheritanceType(ClassMetadata::INHERITANCE_TYPE_SINGLE_TABLE);
$metadata->setDiscriminatorColumn(
[
'name' => 'dtype',
@@ -22,7 +22,7 @@ $metadata->setDiscriminatorMap(
'dog' => Dog::class,
]
);
$metadata->setChangeTrackingPolicy(ClassMetadataInfo::CHANGETRACKING_DEFERRED_IMPLICIT);
$metadata->setChangeTrackingPolicy(ClassMetadata::CHANGETRACKING_DEFERRED_IMPLICIT);
$metadata->mapField(
[
'fieldName' => 'id',
@@ -36,5 +36,5 @@ $metadata->mapField(
'columnName' => 'id',
]
);
$metadata->setIdGeneratorType(ClassMetadataInfo::GENERATOR_TYPE_CUSTOM);
$metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_CUSTOM);
$metadata->setCustomGeneratorDefinition(['class' => 'stdClass']);

View File

@@ -2,9 +2,9 @@
declare(strict_types=1);
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
$metadata->setInheritanceType(ClassMetadataInfo::INHERITANCE_TYPE_NONE);
$metadata->setInheritanceType(ClassMetadata::INHERITANCE_TYPE_NONE);
$metadata->setPrimaryTable(
[
'indexes' => [

View File

@@ -2,7 +2,7 @@
declare(strict_types=1);
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
$metadata->mapField(
[
@@ -19,4 +19,4 @@ $metadata->mapField(
]
);
$metadata->setIdGeneratorType(ClassMetadataInfo::GENERATOR_TYPE_NONE);
$metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_NONE);

View File

@@ -2,7 +2,7 @@
declare(strict_types=1);
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
$metadata->mapField(
[
@@ -18,4 +18,4 @@ $metadata->setDiscriminatorColumn(
]
);
$metadata->setIdGeneratorType(ClassMetadataInfo::GENERATOR_TYPE_NONE);
$metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_NONE);

View File

@@ -2,11 +2,11 @@
declare(strict_types=1);
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
$metadata->enableCache(
[
'usage' => ClassMetadataInfo::CACHE_USAGE_READ_ONLY,
'usage' => ClassMetadata::CACHE_USAGE_READ_ONLY,
]
);
$metadata->mapManyToOne(

View File

@@ -2,16 +2,16 @@
declare(strict_types=1);
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\Tests\ORM\Mapping\Address;
use Doctrine\Tests\ORM\Mapping\Group;
use Doctrine\Tests\ORM\Mapping\Phonenumber;
$metadata->setInheritanceType(ClassMetadataInfo::INHERITANCE_TYPE_NONE);
$metadata->setInheritanceType(ClassMetadata::INHERITANCE_TYPE_NONE);
$metadata->setPrimaryTable(
['name' => 'cms_users']
);
$metadata->setChangeTrackingPolicy(ClassMetadataInfo::CHANGETRACKING_DEFERRED_IMPLICIT);
$metadata->setChangeTrackingPolicy(ClassMetadata::CHANGETRACKING_DEFERRED_IMPLICIT);
$metadata->addLifecycleCallback('doStuffOnPrePersist', 'prePersist');
$metadata->addLifecycleCallback('doOtherStuffOnPrePersistToo', 'prePersist');
$metadata->addLifecycleCallback('doStuffOnPostPersist', 'postPersist');
@@ -52,7 +52,7 @@ $metadata->mapField(
$mapping = ['fieldName' => 'version', 'type' => 'integer'];
$metadata->setVersionMapping($mapping);
$metadata->mapField($mapping);
$metadata->setIdGeneratorType(ClassMetadataInfo::GENERATOR_TYPE_AUTO);
$metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_AUTO);
$metadata->mapOneToOne(
[
'fieldName' => 'address',

View File

@@ -12,7 +12,6 @@ use Doctrine\ORM\EntityManagerInterface;
use Doctrine\ORM\Events;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\ORM\Mapping\ClassMetadataFactory;
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\Driver\AnnotationDriver;
use Doctrine\ORM\Mapping\Driver\XmlDriver;
use Doctrine\ORM\Mapping\Driver\YamlDriver;
@@ -137,7 +136,7 @@ abstract class AbstractClassMetadataExporterTest extends OrmTestCase
/**
* @depends testExportDirectoryAndFilesAreCreated
*/
public function testExportedMetadataCanBeReadBackIn(): ClassMetadataInfo
public function testExportedMetadataCanBeReadBackIn(): ClassMetadata
{
$type = $this->getType();
@@ -158,7 +157,7 @@ abstract class AbstractClassMetadataExporterTest extends OrmTestCase
/**
* @depends testExportedMetadataCanBeReadBackIn
*/
public function testTableIsExported(ClassMetadataInfo $class): ClassMetadataInfo
public function testTableIsExported(ClassMetadata $class): ClassMetadata
{
self::assertEquals('cms_users', $class->table['name']);
self::assertEquals(
@@ -172,7 +171,7 @@ abstract class AbstractClassMetadataExporterTest extends OrmTestCase
/**
* @depends testTableIsExported
*/
public function testTypeIsExported(ClassMetadataInfo $class): ClassMetadataInfo
public function testTypeIsExported(ClassMetadata $class): ClassMetadata
{
self::assertFalse($class->isMappedSuperclass);
@@ -182,9 +181,9 @@ abstract class AbstractClassMetadataExporterTest extends OrmTestCase
/**
* @depends testTypeIsExported
*/
public function testIdentifierIsExported(ClassMetadataInfo $class): ClassMetadataInfo
public function testIdentifierIsExported(ClassMetadata $class): ClassMetadata
{
self::assertEquals(ClassMetadataInfo::GENERATOR_TYPE_IDENTITY, $class->generatorType, 'Generator Type wrong');
self::assertEquals(ClassMetadata::GENERATOR_TYPE_IDENTITY, $class->generatorType, 'Generator Type wrong');
self::assertEquals(['id'], $class->identifier);
self::assertTrue(isset($class->fieldMappings['id']['id']) && $class->fieldMappings['id']['id'] === true);
@@ -194,7 +193,7 @@ abstract class AbstractClassMetadataExporterTest extends OrmTestCase
/**
* @depends testIdentifierIsExported
*/
public function testFieldsAreExported(ClassMetadataInfo $class): ClassMetadataInfo
public function testFieldsAreExported(ClassMetadata $class): ClassMetadata
{
self::assertTrue(isset($class->fieldMappings['id']['id']) && $class->fieldMappings['id']['id'] === true);
self::assertEquals('id', $class->fieldMappings['id']['fieldName']);
@@ -240,7 +239,7 @@ abstract class AbstractClassMetadataExporterTest extends OrmTestCase
/**
* @depends testFieldsAreExported
*/
public function testOneToOneAssociationsAreExported(ClassMetadataInfo $class): ClassMetadataInfo
public function testOneToOneAssociationsAreExported(ClassMetadata $class): ClassMetadata
{
self::assertTrue(isset($class->associationMappings['address']));
self::assertEquals(Address::class, $class->associationMappings['address']['targetEntity']);
@@ -254,7 +253,7 @@ abstract class AbstractClassMetadataExporterTest extends OrmTestCase
self::assertFalse($class->associationMappings['address']['isCascadeMerge']);
self::assertFalse($class->associationMappings['address']['isCascadeDetach']);
self::assertTrue($class->associationMappings['address']['orphanRemoval']);
self::assertEquals(ClassMetadataInfo::FETCH_EAGER, $class->associationMappings['address']['fetch']);
self::assertEquals(ClassMetadata::FETCH_EAGER, $class->associationMappings['address']['fetch']);
return $class;
}
@@ -271,7 +270,7 @@ abstract class AbstractClassMetadataExporterTest extends OrmTestCase
/**
* @depends testOneToOneAssociationsAreExported
*/
public function testOneToManyAssociationsAreExported(ClassMetadataInfo $class): ClassMetadataInfo
public function testOneToManyAssociationsAreExported(ClassMetadata $class): ClassMetadata
{
self::assertTrue(isset($class->associationMappings['phonenumbers']));
self::assertEquals(Phonenumber::class, $class->associationMappings['phonenumbers']['targetEntity']);
@@ -284,7 +283,7 @@ abstract class AbstractClassMetadataExporterTest extends OrmTestCase
self::assertTrue($class->associationMappings['phonenumbers']['isCascadeMerge']);
self::assertFalse($class->associationMappings['phonenumbers']['isCascadeDetach']);
self::assertTrue($class->associationMappings['phonenumbers']['orphanRemoval']);
self::assertEquals(ClassMetadataInfo::FETCH_LAZY, $class->associationMappings['phonenumbers']['fetch']);
self::assertEquals(ClassMetadata::FETCH_LAZY, $class->associationMappings['phonenumbers']['fetch']);
return $class;
}
@@ -292,7 +291,7 @@ abstract class AbstractClassMetadataExporterTest extends OrmTestCase
/**
* @depends testOneToManyAssociationsAreExported
*/
public function testManyToManyAssociationsAreExported(ClassMetadataInfo $class): ClassMetadataInfo
public function testManyToManyAssociationsAreExported(ClassMetadata $class): ClassMetadata
{
self::assertTrue(isset($class->associationMappings['groups']));
self::assertEquals(Group::class, $class->associationMappings['groups']['targetEntity']);
@@ -310,7 +309,7 @@ abstract class AbstractClassMetadataExporterTest extends OrmTestCase
self::assertTrue($class->associationMappings['groups']['isCascadeRefresh']);
self::assertTrue($class->associationMappings['groups']['isCascadeMerge']);
self::assertTrue($class->associationMappings['groups']['isCascadeDetach']);
self::assertEquals(ClassMetadataInfo::FETCH_EXTRA_LAZY, $class->associationMappings['groups']['fetch']);
self::assertEquals(ClassMetadata::FETCH_EXTRA_LAZY, $class->associationMappings['groups']['fetch']);
return $class;
}
@@ -318,7 +317,7 @@ abstract class AbstractClassMetadataExporterTest extends OrmTestCase
/**
* @depends testManyToManyAssociationsAreExported
*/
public function testLifecycleCallbacksAreExported(ClassMetadataInfo $class): ClassMetadataInfo
public function testLifecycleCallbacksAreExported(ClassMetadata $class): ClassMetadata
{
self::assertTrue(isset($class->lifecycleCallbacks['prePersist']));
self::assertCount(2, $class->lifecycleCallbacks['prePersist']);
@@ -335,7 +334,7 @@ abstract class AbstractClassMetadataExporterTest extends OrmTestCase
/**
* @depends testLifecycleCallbacksAreExported
*/
public function testCascadeIsExported(ClassMetadataInfo $class): ClassMetadataInfo
public function testCascadeIsExported(ClassMetadata $class): ClassMetadata
{
self::assertTrue($class->associationMappings['phonenumbers']['isCascadePersist']);
self::assertTrue($class->associationMappings['phonenumbers']['isCascadeMerge']);
@@ -350,7 +349,7 @@ abstract class AbstractClassMetadataExporterTest extends OrmTestCase
/**
* @depends testCascadeIsExported
*/
public function testInversedByIsExported(ClassMetadataInfo $class): void
public function testInversedByIsExported(ClassMetadata $class): void
{
self::assertEquals('user', $class->associationMappings['address']['inversedBy']);
}

View File

@@ -5,7 +5,6 @@ declare(strict_types=1);
namespace Doctrine\Tests\ORM\Tools\Export;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Tools\Export\Driver\XmlExporter;
/**
@@ -37,7 +36,7 @@ class XmlClassMetadataExporterTest extends AbstractClassMetadataExporterTest
]
);
$metadata->setIdGeneratorType(ClassMetadataInfo::GENERATOR_TYPE_SEQUENCE);
$metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_SEQUENCE);
$metadata->setSequenceGeneratorDefinition(
[
'sequenceName' => 'seq_entity_test_id',

View File

@@ -3,20 +3,20 @@
declare(strict_types=1);
use Doctrine\ORM\Events;
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\Tests\ORM\Tools\Export;
use Doctrine\Tests\ORM\Tools\Export\AddressListener;
use Doctrine\Tests\ORM\Tools\Export\GroupListener;
use Doctrine\Tests\ORM\Tools\Export\UserListener;
$metadata->setInheritanceType(ClassMetadataInfo::INHERITANCE_TYPE_NONE);
$metadata->setInheritanceType(ClassMetadata::INHERITANCE_TYPE_NONE);
$metadata->setPrimaryTable(
[
'name' => 'cms_users',
'options' => ['engine' => 'MyISAM', 'foo' => ['bar' => 'baz']],
]
);
$metadata->setChangeTrackingPolicy(ClassMetadataInfo::CHANGETRACKING_DEFERRED_IMPLICIT);
$metadata->setChangeTrackingPolicy(ClassMetadata::CHANGETRACKING_DEFERRED_IMPLICIT);
$metadata->addLifecycleCallback('doStuffOnPrePersist', Events::prePersist);
$metadata->addLifecycleCallback('doOtherStuffOnPrePersistToo', Events::prePersist);
$metadata->addLifecycleCallback('doStuffOnPostPersist', Events::postPersist);
@@ -53,7 +53,7 @@ $metadata->mapField(
'options' => ['unsigned' => true],
]
);
$metadata->setIdGeneratorType(ClassMetadataInfo::GENERATOR_TYPE_AUTO);
$metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_AUTO);
$metadata->mapManyToOne(
[
'fieldName' => 'mainGroup',
@@ -78,7 +78,7 @@ $metadata->mapOneToOne(
],
],
'orphanRemoval' => true,
'fetch' => ClassMetadataInfo::FETCH_EAGER,
'fetch' => ClassMetadata::FETCH_EAGER,
]
);
$metadata->mapOneToOne(
@@ -90,7 +90,7 @@ $metadata->mapOneToOne(
[0 => 'persist'],
'inversedBy' => null,
'orphanRemoval' => false,
'fetch' => ClassMetadataInfo::FETCH_EAGER,
'fetch' => ClassMetadata::FETCH_EAGER,
]
);
$metadata->mapOneToMany(
@@ -104,7 +104,7 @@ $metadata->mapOneToMany(
],
'mappedBy' => 'user',
'orphanRemoval' => true,
'fetch' => ClassMetadataInfo::FETCH_LAZY,
'fetch' => ClassMetadata::FETCH_LAZY,
'orderBy' =>
['number' => 'ASC'],
]
@@ -113,7 +113,7 @@ $metadata->mapManyToMany(
[
'fieldName' => 'groups',
'targetEntity' => Export\Group::class,
'fetch' => ClassMetadataInfo::FETCH_EXTRA_LAZY,
'fetch' => ClassMetadata::FETCH_EXTRA_LAZY,
'cascade' =>
[
0 => 'remove',

View File

@@ -6,7 +6,6 @@ namespace Doctrine\Tests\ORM\Tools;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use Doctrine\ORM\Mapping\Column;
use Doctrine\ORM\Mapping\Entity;
use Doctrine\ORM\Mapping\Id;
@@ -588,7 +587,7 @@ class IncorrectIndexByFieldEntity
/** @var string */
public $fieldName;
public static function loadMetadata(ClassMetadataInfo $metadata): void
public static function loadMetadata(ClassMetadata $metadata): void
{
$metadata->mapField(
[
@@ -627,7 +626,7 @@ class IncorrectUniqueConstraintByFieldEntity
/** @var string */
public $fieldName;
public static function loadMetadata(ClassMetadataInfo $metadata): void
public static function loadMetadata(ClassMetadata $metadata): void
{
$metadata->mapField(
[

View File

@@ -734,8 +734,8 @@ class UnitOfWorkTest extends OrmTestCase
// the cascading association not set. Having the "cascading path" involve
// a non-new object is important to show that the ORM should be considering
// cascades across entity changesets in subsequent flushes.
$cascading->cascaded = $cascadePersisted;
$nonCascading->cascaded = $cascadePersisted;
$cascading->cascaded = $cascadePersisted;
$nonCascading->nonCascaded = $cascadePersisted;
$this->_unitOfWork->persist($cascading);
$this->_unitOfWork->persist($nonCascading);
@@ -1115,7 +1115,7 @@ class EntityWithCascadingAssociation
private $id;
/**
* @var CascadePersistedEntity
* @var CascadePersistedEntity|null
* @ManyToOne(targetEntity=CascadePersistedEntity::class, cascade={"persist"})
*/
public $cascaded;
@@ -1138,7 +1138,7 @@ class EntityWithNonCascadingAssociation
private $id;
/**
* @var CascadePersistedEntity
* @var CascadePersistedEntity|null
* @ManyToOne(targetEntity=CascadePersistedEntity::class)
*/
public $nonCascaded;

View File

@@ -5,7 +5,6 @@ declare(strict_types=1);
namespace Doctrine\Tests;
use Doctrine\Common\Annotations;
use Doctrine\Common\EventManager;
use Doctrine\DBAL\Connection;
use Doctrine\DBAL\DriverManager;
use Doctrine\ORM\Cache\CacheConfiguration;
@@ -19,7 +18,6 @@ use Doctrine\Tests\Mocks\EntityManagerMock;
use Psr\Cache\CacheItemPoolInterface;
use Symfony\Component\Cache\Adapter\ArrayAdapter;
use function is_array;
use function realpath;
/**
@@ -71,19 +69,10 @@ abstract class OrmTestCase extends DoctrineTestCase
* mocked out using a DriverMock, ConnectionMock, etc. These mocks can then
* be configured in the tests to simulate the DBAL behavior that is desired
* for a particular test,
*
* @param Connection|array $conn
* @param mixed $conf
*/
protected function getTestEntityManager(
$conn = null,
$conf = null,
?EventManager $eventManager = null,
bool $withSharedMetadata = true
): EntityManagerMock {
$metadataCache = $withSharedMetadata
? self::getSharedMetadataCacheImpl()
: new ArrayAdapter();
protected function getTestEntityManager(?Connection $connection = null): EntityManagerMock
{
$metadataCache = self::getSharedMetadataCacheImpl();
$config = new Configuration();
@@ -105,24 +94,20 @@ abstract class OrmTestCase extends DoctrineTestCase
$this->secondLevelCacheFactory = $factory;
$cacheConfig->setCacheFactory($factory);
$config->setSecondLevelCacheEnabled(true);
$config->setSecondLevelCacheEnabled();
$config->setSecondLevelCacheConfiguration($cacheConfig);
}
if ($conn === null) {
$conn = [
if ($connection === null) {
$connection = DriverManager::getConnection([
'driverClass' => Mocks\DriverMock::class,
'wrapperClass' => Mocks\ConnectionMock::class,
'user' => 'john',
'password' => 'wayne',
];
], $config);
}
if (is_array($conn)) {
$conn = DriverManager::getConnection($conn, $config, $eventManager);
}
return EntityManagerMock::create($conn, $config, $eventManager);
return EntityManagerMock::create($connection, $config);
}
protected function enableSecondLevelCache(bool $log = true): void