[2.20] Invalid field override when converting YAML to XML #7477

Closed
opened 2026-01-22 15:52:09 +01:00 by admin · 0 comments
Owner

Originally created by @ro0NL on GitHub (Feb 20, 2025).

Bug Report

Q A
Version 2.20.2

Summary

We're using an entity with SINGLE_TABLE inheritance in YAML config.

Currently the inversedBy value is overridden using an association override in the child classes (as per https://stackoverflow.com/questions/22745653/overriding-inversedby-mapping-in-doctrine-2-inheritance);

App\Entity\Some:
    type: entity
    associationOverride:
        field:
            inversedBy: values

This validates fine using bin/console doctrine:schema:validate --skip-sync.

When trying to convert to XML using bin/console doctrine:mapping:convert xml path --filter=Some we get a mapping error suddenly:

In MappingException.php line 138:
                                                                                                                   
  [Doctrine\ORM\Mapping\MappingException]                                                                          
  Invalid field override named 'field' for class 'App\Entity\Some'.  
                                                                                                                   

Exception trace:
  at /app/vendor/doctrine/orm/src/Mapping/MappingException.php:138
 Doctrine\ORM\Mapping\MappingException::invalidOverrideFieldName() at /app/vendor/doctrine/orm/src/Mapping/ClassMetadataInfo.php:2468
 Doctrine\ORM\Mapping\ClassMetadataInfo->setAssociationOverride() at /app/vendor/doctrine/orm/src/Mapping/Driver/YamlDriver.php:697
 Doctrine\ORM\Mapping\Driver\YamlDriver->loadMetadataForClass() at /app/vendor/doctrine/persistence/src/Persistence/Mapping/Driver/MappingDriverChain.php:77
 Doctrine\Persistence\Mapping\Driver\MappingDriverChain->loadMetadataForClass() at /app/vendor/doctrine/doctrine-bundle/src/Mapping/MappingDriver.php:42
 Doctrine\Bundle\DoctrineBundle\Mapping\MappingDriver->loadMetadataForClass() at /app/vendor/doctrine/orm/src/Mapping/ClassMetadataFactory.php:149
 Doctrine\ORM\Mapping\ClassMetadataFactory->doLoadMetadata() at /app/vendor/doctrine/persistence/src/Persistence/Mapping/AbstractClassMetadataFactory.php:343
 Doctrine\Persistence\Mapping\AbstractClassMetadataFactory->loadMetadata() at /app/vendor/doctrine/persistence/src/Persistence/Mapping/AbstractClassMetadataFactory.php:225
 Doctrine\Persistence\Mapping\AbstractClassMetadataFactory->getMetadataFor() at /app/vendor/doctrine/persistence/src/Persistence/Mapping/AbstractClassMetadataFactory.php:96
 Doctrine\Persistence\Mapping\AbstractClassMetadataFactory->getAllMetadata() at /app/vendor/doctrine/orm/src/Tools/Console/Command/ConvertMappingCommand.php:116
 Doctrine\ORM\Tools\Console\Command\ConvertMappingCommand->doExecute() at /app/vendor/doctrine/orm/src/Tools/Console/CommandCompatibility.php:18
 Doctrine\ORM\Tools\Console\Command\ConvertMappingCommand->execute() at /app/vendor/symfony/console/Command/Command.php:279

Current behavior

Unable to convert to XML.

Expected behavior

Able to convert to XML.

Originally created by @ro0NL on GitHub (Feb 20, 2025). ### Bug Report <!-- Fill in the relevant information below to help triage your issue. --> | Q | A |-------------------------------------------- | ------ | Version | 2.20.2 #### Summary We're using an entity with SINGLE_TABLE inheritance in YAML config. Currently the `inversedBy` value is overridden using an association override in the child classes (as per https://stackoverflow.com/questions/22745653/overriding-inversedby-mapping-in-doctrine-2-inheritance); ```yaml App\Entity\Some: type: entity associationOverride: field: inversedBy: values ``` This validates fine using `bin/console doctrine:schema:validate --skip-sync`. When trying to convert to XML using `bin/console doctrine:mapping:convert xml path --filter=Some` we get a mapping error suddenly: ``` In MappingException.php line 138: [Doctrine\ORM\Mapping\MappingException] Invalid field override named 'field' for class 'App\Entity\Some'. Exception trace: at /app/vendor/doctrine/orm/src/Mapping/MappingException.php:138 Doctrine\ORM\Mapping\MappingException::invalidOverrideFieldName() at /app/vendor/doctrine/orm/src/Mapping/ClassMetadataInfo.php:2468 Doctrine\ORM\Mapping\ClassMetadataInfo->setAssociationOverride() at /app/vendor/doctrine/orm/src/Mapping/Driver/YamlDriver.php:697 Doctrine\ORM\Mapping\Driver\YamlDriver->loadMetadataForClass() at /app/vendor/doctrine/persistence/src/Persistence/Mapping/Driver/MappingDriverChain.php:77 Doctrine\Persistence\Mapping\Driver\MappingDriverChain->loadMetadataForClass() at /app/vendor/doctrine/doctrine-bundle/src/Mapping/MappingDriver.php:42 Doctrine\Bundle\DoctrineBundle\Mapping\MappingDriver->loadMetadataForClass() at /app/vendor/doctrine/orm/src/Mapping/ClassMetadataFactory.php:149 Doctrine\ORM\Mapping\ClassMetadataFactory->doLoadMetadata() at /app/vendor/doctrine/persistence/src/Persistence/Mapping/AbstractClassMetadataFactory.php:343 Doctrine\Persistence\Mapping\AbstractClassMetadataFactory->loadMetadata() at /app/vendor/doctrine/persistence/src/Persistence/Mapping/AbstractClassMetadataFactory.php:225 Doctrine\Persistence\Mapping\AbstractClassMetadataFactory->getMetadataFor() at /app/vendor/doctrine/persistence/src/Persistence/Mapping/AbstractClassMetadataFactory.php:96 Doctrine\Persistence\Mapping\AbstractClassMetadataFactory->getAllMetadata() at /app/vendor/doctrine/orm/src/Tools/Console/Command/ConvertMappingCommand.php:116 Doctrine\ORM\Tools\Console\Command\ConvertMappingCommand->doExecute() at /app/vendor/doctrine/orm/src/Tools/Console/CommandCompatibility.php:18 Doctrine\ORM\Tools\Console\Command\ConvertMappingCommand->execute() at /app/vendor/symfony/console/Command/Command.php:279 ``` #### Current behavior Unable to convert to XML. #### Expected behavior Able to convert to XML.
admin closed this issue 2026-01-22 15:52:09 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: doctrine/archived-orm#7477