diff --git a/packages/Doctrine/src/Rector/Class_/AddUuidMirrorForRelationPropertyRector.php b/packages/Doctrine/src/Rector/Class_/AddUuidMirrorForRelationPropertyRector.php index be08219faf6..44af9d549a7 100644 --- a/packages/Doctrine/src/Rector/Class_/AddUuidMirrorForRelationPropertyRector.php +++ b/packages/Doctrine/src/Rector/Class_/AddUuidMirrorForRelationPropertyRector.php @@ -96,7 +96,7 @@ final class AddUuidMirrorForRelationPropertyRector extends AbstractRector */ private function createMirrorNullable(Property $property): Property { - $oldProperytName = $this->getName($property); + $oldPropertyName = $this->getName($property); $propertyWithUuid = clone $property; @@ -105,11 +105,11 @@ final class AddUuidMirrorForRelationPropertyRector extends AbstractRector // name must be changed after the doc comment update, because the reflection annotation needed for update of doc comment // would miss non existing *Uuid property - $uuidPropertyName = $oldProperytName . 'Uuid'; + $uuidPropertyName = $oldPropertyName . 'Uuid'; $newPropertyProperty = new PropertyProperty(new VarLikeIdentifier($uuidPropertyName)); $propertyWithUuid->props = [$newPropertyProperty]; - $this->addNewPropertyToCollector($property, $oldProperytName, $uuidPropertyName); + $this->addNewPropertyToCollector($property, $oldPropertyName, $uuidPropertyName); return $propertyWithUuid; } @@ -186,6 +186,10 @@ final class AddUuidMirrorForRelationPropertyRector extends AbstractRector return true; } + if (! property_exists($targetEntity, 'uuid')) { + return true; + } + return false; } diff --git a/packages/Doctrine/tests/Rector/Class_/AddUuidMirrorForRelationPropertyRector/AddUuidMirrorForRelationPropertyRectorTest.php b/packages/Doctrine/tests/Rector/Class_/AddUuidMirrorForRelationPropertyRector/AddUuidMirrorForRelationPropertyRectorTest.php index 438964982a2..d8a1c5126e6 100644 --- a/packages/Doctrine/tests/Rector/Class_/AddUuidMirrorForRelationPropertyRector/AddUuidMirrorForRelationPropertyRectorTest.php +++ b/packages/Doctrine/tests/Rector/Class_/AddUuidMirrorForRelationPropertyRector/AddUuidMirrorForRelationPropertyRectorTest.php @@ -23,6 +23,7 @@ final class AddUuidMirrorForRelationPropertyRectorTest extends AbstractRectorTes yield [__DIR__ . '/Fixture/to_one.php.inc']; yield [__DIR__ . '/Fixture/to_many.php.inc']; yield [__DIR__ . '/Fixture/skip_already_added.php.inc']; + yield [__DIR__ . '/Fixture/skip_to_many_without_target_entity_uuid.php.inc']; } protected function getRectorClass(): string diff --git a/packages/Doctrine/tests/Rector/Class_/AddUuidMirrorForRelationPropertyRector/Fixture/skip_to_many_without_target_entity_uuid.php.inc b/packages/Doctrine/tests/Rector/Class_/AddUuidMirrorForRelationPropertyRector/Fixture/skip_to_many_without_target_entity_uuid.php.inc new file mode 100644 index 00000000000..88162413f71 --- /dev/null +++ b/packages/Doctrine/tests/Rector/Class_/AddUuidMirrorForRelationPropertyRector/Fixture/skip_to_many_without_target_entity_uuid.php.inc @@ -0,0 +1,31 @@ + @@ -67,6 +69,8 @@ class FooEntity * @ORM\GeneratedValue(strategy="AUTO") */ private $id; + + private $uuid; } ?> diff --git a/packages/Doctrine/tests/Rector/Class_/AddUuidMirrorForRelationPropertyRector/Fixture/to_one.php.inc b/packages/Doctrine/tests/Rector/Class_/AddUuidMirrorForRelationPropertyRector/Fixture/to_one.php.inc index 490b8603d22..f40ecb0eb57 100644 --- a/packages/Doctrine/tests/Rector/Class_/AddUuidMirrorForRelationPropertyRector/Fixture/to_one.php.inc +++ b/packages/Doctrine/tests/Rector/Class_/AddUuidMirrorForRelationPropertyRector/Fixture/to_one.php.inc @@ -28,6 +28,8 @@ class AnotherEntity * @ORM\GeneratedValue(strategy="AUTO") */ private $id; + + private $uuid; } ?> @@ -67,6 +69,8 @@ class AnotherEntity * @ORM\GeneratedValue(strategy="AUTO") */ private $id; + + private $uuid; } ?>