Skip to content

Make sure the schema tool does not miss columns from abstract entity classes in a STI tree#10387

Closed
mpdude wants to merge 5 commits intodoctrine:2.14.xfrom
mpdude:schema-tool-abstract-entity-column
Closed

Make sure the schema tool does not miss columns from abstract entity classes in a STI tree#10387
mpdude wants to merge 5 commits intodoctrine:2.14.xfrom
mpdude:schema-tool-abstract-entity-column

Conversation

@mpdude
Copy link
Copy Markdown
Contributor

@mpdude mpdude commented Jan 12, 2023

This PR fixes SchemaTool so it does not miss fields inherited from abstract @Entity classes in the middle of a single table inheritance (STI) tree, when these classes are not listed in the Discriminator Map (DM).

Abstract entitiy classes not listed in the DM will not show up in the root entity's ClassMetadata subClasses property. Fields inherited from them will show up in the field mapping metadata for subclasses, with inherited => ... being set.

The Schema Tool would skip these inherited fields, probably based on the assumption that they will be taken care of when the declaring class is processed. This, however, did not happen for abstract classes not listed in the DM.

Update #10389 discusses whether it should in fact be a requirement to list also abstract classes in the DM, which might make this issue go away (masking it).

Update 2 #10411 fixes this by making sure the missing subClasses are filled in

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant