This is a follow up to #2485385: Move highwater field support to the source plugin, and do not expose its internals on MigrationInterface.
Problem/Motivation
In, #69, benjy notes that it is confusing to have getHighWaterProperty(), getHighWater() and getHighWaterField() all on the migration.
Proposed resolution
It would have been nice to have a HighWater value object that encapsulated those methods, and just have the one getHighWater() method on the migration.
Alternatively, MigrateExecutable is now the only thing calling getHighWaterProperty()like so:
if ($high_water_property = $this->migration->getHighWaterProperty()) {
$this->migration->saveHighWater($row->getSourceProperty($high_water_property['name']));
}We could easily change that so that the executable didn't need any knowledge of the high water property at all?
if ($high_water_property = $this->migration->supportsHighWater()) {
$this->migration->saveHighWater($row);
}
Comments
Comment #15
mikelutzNo activity on this in years, closing as I don't see any significant value for the effort, unless we did this as part of a larger highwater re-work that added additional value to the system.