MigMagMigrateStub::createStub
can unintentionally delete existing idMap messages when doing a loop on non-SQL sources.
Essentially whenever \Drupal\migrate\Plugin\migrate\source\SourcePluginBase::next()
is called.
And since MigMagMigrateStub::createStub
loops through the source iterator, any previous messages which were previously stored will be deleted when looping through a source iterator and next() is called.
Given:
migration_a
is a non-SQL source migration which creates a message for each rowmigration_b
is a migration which does a migmag_lookup
against migration_a
migration_a
has completely ran before migration_b
, and has a populated idmap tableWhen migration_b
is ran, all the original messages created in the initial migration_a
run will be deleted as it loops through.
NullIdMap
so it doesn't interfere with the original migration idMap and highWaterStorage during iterations.MigrationDeriverTrait::getSourcePlugin()
seems like a good base for what we want.
Provide issue fork/patch with tests.
No changes.
Active
1.8
MigMagLookup Process Plugin
Not all content is available!
It's likely this issue predates Contrib.social: some issue and comment data are missing.