Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions UPGRADE.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Upgrade to 3.0

## BC BREAK: Remove `Doctrine\ORM\Tools\DisconnectedClassMetadataFactory`

No replacement is provided.

## BC BREAK: Remove support for `Type::canRequireSQLConversion()`

This feature was deprecated in DBAL 3.3.0 and will be removed in DBAL 4.0.
Expand Down
24 changes: 3 additions & 21 deletions lib/Doctrine/ORM/Mapping/Builder/ClassMetadataBuilder.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,7 @@

namespace Doctrine\ORM\Mapping\Builder;

use Doctrine\Deprecations\Deprecation;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\ORM\Mapping\ClassMetadataInfo;

use function get_class;

/**
* Builder Object for ClassMetadata
Expand All @@ -17,29 +13,15 @@
*/
class ClassMetadataBuilder
{
/** @var ClassMetadataInfo */
/** @var ClassMetadata */
private $cm;

public function __construct(ClassMetadataInfo $cm)
public function __construct(ClassMetadata $cm)
{
if (! $cm instanceof ClassMetadata) {
Deprecation::trigger(
'doctrine/orm',
'https://github.com/doctrine/orm/pull/249',
'Passing an instance of %s to %s is deprecated, please pass a ClassMetadata instance instead.',
get_class($cm),
__METHOD__,
ClassMetadata::class
);
}

$this->cm = $cm;
}

/**
* @return ClassMetadataInfo
*/
public function getClassMetadata()
public function getClassMetadata(): ClassMetadata
{
return $this->cm;
}
Expand Down
6 changes: 3 additions & 3 deletions lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php
Original file line number Diff line number Diff line change
Expand Up @@ -249,7 +249,7 @@ protected function validateRuntimeMetadata(ClassMetadata $class, ?ClassMetadataI
}
}
} else {
assert($parent instanceof ClassMetadataInfo); // https://github.com/doctrine/orm/issues/8746
assert($parent instanceof ClassMetadata); // https://github.com/doctrine/orm/issues/8746
if (
! $class->reflClass->isAbstract()
&& ! in_array($class->name, $class->discriminatorMap, true)
Expand Down Expand Up @@ -477,7 +477,7 @@ private function addInheritedSqlResultSetMappings(ClassMetadata $subClass, Class
*
* @throws ORMException
*/
private function completeIdGeneratorMapping(ClassMetadataInfo $class): void
private function completeIdGeneratorMapping(ClassMetadata $class): void
{
$idGenType = $class->generatorType;
if ($idGenType === ClassMetadata::GENERATOR_TYPE_AUTO) {
Expand Down Expand Up @@ -612,7 +612,7 @@ private function truncateSequenceName(string $schemaElementName): string
/**
* Inherits the ID generator mapping from a parent class.
*/
private function inheritIdGeneratorMapping(ClassMetadataInfo $class, ClassMetadataInfo $parent): void
private function inheritIdGeneratorMapping(ClassMetadata $class, ClassMetadata $parent): void
{
if ($parent->isIdGeneratorSequence()) {
$class->setSequenceGeneratorDefinition($parent->sequenceGeneratorDefinition);
Expand Down
7 changes: 3 additions & 4 deletions lib/Doctrine/ORM/Mapping/Driver/DatabaseDriver.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
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 as PersistenceClassMetadata;
use Doctrine\Persistence\Mapping\Driver\MappingDriver;
Expand Down Expand Up @@ -319,7 +318,7 @@ private function reverseEngineerMappingFromDatabase(): void
/**
* Build indexes from a class metadata.
*/
private function buildIndexes(ClassMetadataInfo $metadata): void
private function buildIndexes(ClassMetadata $metadata): void
{
$tableName = $metadata->table['name'];
$indexes = $this->tables[$tableName]->getIndexes();
Expand All @@ -342,7 +341,7 @@ private function buildIndexes(ClassMetadataInfo $metadata): void
/**
* Build field mapping from class metadata.
*/
private function buildFieldMappings(ClassMetadataInfo $metadata): void
private function buildFieldMappings(ClassMetadata $metadata): void
{
$tableName = $metadata->table['name'];
$columns = $this->tables[$tableName]->getColumns();
Expand Down Expand Up @@ -457,7 +456,7 @@ private function buildFieldMapping(string $tableName, Column $column): array
*
* @return void
*/
private function buildToOneAssociationMappings(ClassMetadataInfo $metadata)
private function buildToOneAssociationMappings(ClassMetadata $metadata)
{
$tableName = $metadata->table['name'];
$primaryKeys = $this->getTablePrimaryKeys($this->tables[$tableName]);
Expand Down
5 changes: 1 addition & 4 deletions lib/Doctrine/ORM/PersistentCollection.php
Original file line number Diff line number Diff line change
Expand Up @@ -131,10 +131,7 @@ public function getOwner()
return $this->owner;
}

/**
* @return Mapping\ClassMetadata
*/
public function getTypeClass(): Mapping\ClassMetadataInfo
public function getTypeClass(): Mapping\ClassMetadata
{
return $this->typeClass;
}
Expand Down
29 changes: 0 additions & 29 deletions lib/Doctrine/ORM/Tools/DisconnectedClassMetadataFactory.php

This file was deleted.

16 changes: 1 addition & 15 deletions lib/Doctrine/ORM/Tools/SchemaValidator.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,8 @@
namespace Doctrine\ORM\Tools;

use Doctrine\DBAL\Types\Type;
use Doctrine\Deprecations\Deprecation;
use Doctrine\ORM\EntityManagerInterface;
use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\ORM\Mapping\ClassMetadataInfo;

use function array_diff;
use function array_key_exists;
Expand All @@ -17,7 +15,6 @@
use function class_exists;
use function class_parents;
use function count;
use function get_class;
use function implode;
use function in_array;

Expand Down Expand Up @@ -70,19 +67,8 @@ public function validateMapping()
* @return string[]
* @psalm-return list<string>
*/
public function validateClass(ClassMetadataInfo $class)
public function validateClass(ClassMetadata $class)
{
if (! $class instanceof ClassMetadata) {
Deprecation::trigger(
'doctrine/orm',
'https://github.com/doctrine/orm/pull/249',
'Passing an instance of %s to %s is deprecated, please pass a ClassMetadata instance instead.',
get_class($class),
__METHOD__,
ClassMetadata::class
);
}

$ce = [];
$cmf = $this->em->getMetadataFactory();

Expand Down
5 changes: 0 additions & 5 deletions phpstan-baseline.neon
Original file line number Diff line number Diff line change
Expand Up @@ -140,11 +140,6 @@ parameters:
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
path: lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php

-
message: "#^Method Doctrine\\\\ORM\\\\Mapping\\\\NamingStrategy\\:\\:joinColumnName\\(\\) invoked with 2 parameters, 1 required\\.$#"
count: 2
Expand Down
6 changes: 3 additions & 3 deletions tests/Doctrine/Tests/ORM/Tools/Console/MetadataFilterTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@

namespace Doctrine\Tests\ORM\Tools\Console;

use Doctrine\ORM\Mapping\ClassMetadataFactory;
use Doctrine\ORM\Mapping\Column;
use Doctrine\ORM\Mapping\Entity;
use Doctrine\ORM\Mapping\Id;
use Doctrine\ORM\Tools\Console\MetadataFilter;
use Doctrine\ORM\Tools\DisconnectedClassMetadataFactory;
use Doctrine\Tests\OrmTestCase;

use function count;
Expand All @@ -20,7 +20,7 @@
*/
class MetadataFilterTest extends OrmTestCase
{
/** @var DisconnectedClassMetadataFactory */
/** @var ClassMetadataFactory */
private $cmf;

protected function setUp(): void
Expand All @@ -32,7 +32,7 @@ protected function setUp(): void

$em->getConfiguration()->setMetadataDriverImpl($driver);

$this->cmf = new DisconnectedClassMetadataFactory();
$this->cmf = new ClassMetadataFactory();
$this->cmf->setEntityManager($em);
}

Expand Down