EntityConfigBase
migrations cannot update existing configs due to the lack of an appropriate getEntity
implementation.
It defaults to Entity:getEntity which only takes into account the first destination id, however configs typically have multiple IDs which should be concatenated by a .
.
This means that in every destination plugin which overrides EntityConfigBase
(and do not override the import method), if the Drupal\migrate\Plugin::import()
method is called with a non-empty $old_destination_ids
param, the import process will fail, because instead of operating on a preexisting entity, the destination plugin tries to create a new one (with the same ID which was calculated based on the destination IDs of the current migration Row).
Affected destination plugins are e.g.
entity:field_config
entity:field_storage_config
entity:base_field_override
entity:block
Implement appropriate getEntity
which takes into account the full config ID.
EntityConfigBase
migrate destination plugin classN/A
N/A
The current EntityConfigBase
makes it impossible to track changes of migrations with multi-ID config entity destinations, but this is not evaluated as a bug.
Fixing the issue will make change tracking possible in these scenarios.
Needs work
11.0 🔥
migration system
It is used to alert the maintainer(s) of a particular core subsystem that an issue significantly impacts their subsystem, and their signoff is needed (see the governance policy draft for more information). Also, if you use this tag, make sure the issue component is set to the correct subsystem. If an issue significantly impacts more than one subsystem, use needs framework manager review instead.
Not all content is available!
It's likely this issue predates Contrib.social: some issue and comment data are missing.