Problem/Motivation
Sometimes we need to run migrations in chunks and use the --limit option.
The migration source plugin loads the source rows from the beginning and checks if they have already been migrated, if they need to be updated, etc.
Most of the time, we can skip already migrated rows very early, saving time and improving migration performance.
This is the case when all the following conditions are met:
- the row has already been migrated
- it doesn't need an update
- the track changes feature is disabled
- the row is not above the high water mark
Comments
Comment #3
cilefen commentedComment #4
martin_klimaI checked the reason for the failed test.
Spell-checking found 2 issues:
SourcePluginBase.php:416:36 - Unknown word (sourceid)
SourcePluginBase.php:418:25 - Unknown word (Highwater)
in this part of the code:
I have no idea how to fix it. Issues found are not words. One is the array key and the second is the method name.
Do you have any hint of what I can do @cilefen?
Comment #5
martin_klimaI am saving the current patch for reference.
Comment #6
smustgrave commentedThanks for reporting.
Issue summary appears to be missing several sections, recommended to use the standard issue template. Will probably need statistics to show the performance improvement
New feature will require test coverage.
All will most likely need a submaintainer approval.
Thanks.
Comment #7
ghost of drupal pastThe spelling errors can be skipped by adding the words to core/misc/cspell/dictionary.txt or by using a cspell:ignore line much like core/modules/filter/src/Plugin/migrate/process/FilterID.php does, for example. I am not familiar with current best practices in which one is preferred, but a) core/modules/migrate/tests/src/Kernel/HighWaterTest.php already has a Highwater ignore line b) repeated ignores seemingly are not a problem because there are multiple sourceid ignores in migrate. So: I think you should specifically ignore them instead of editing the dictionary.
Comment #8
jofitzAdded
cspell:ignore, as suggested.Status remains at NW because patch still needs tests etc