Problem/Motivation
As stated on Migrate commands are now part of Drush core, since Drush 10.4.0, migrate commands are been semi-duplicated in drush core and migrate tools.
Steps to reproduce
N.A.
Proposed resolution
Mainly re-build extra functionality on top of drush core commands. As stated on gitlab, they are highly similar.
For example: Drush core defines the migrate:status, migrate:import, and migrate:rollback commands. Alter these commands to support the --group option.
Although this issue is tagged for version 8.x-5.x, the plan is that the code here will start the 6.0.x branch.
The remainder of this section gives details for each command.
migrate:fields-source (mfs)
Removed from migrate_tools.
migrate:messages (mmsg)
Removed from migrate_tools.
idlist support was added to drush core at https://github.com/drush-ops/drush/pull/4728
- The
csv option is already marked as deprecated, so it fits with not adding it again in favor of drush --format=csv.
idlist-delimiter support is dropped, now the delimiter is always ":".
migrate:reset-status (mrs)
Removed from migrate_tools.
migrate:status (ms)
Re-written on top of drush migrate commands.
Add the group field using @hook init.
Add the group option using @hook alter.
migrate:stop (mst)
Removed from migrate_tools.
migrate:tree
Command only lives on migrate_tools, no action was needed.
migrate:import (mim)
Add compatibility layer for the skip-progress-bar option, equivalent to no-progress on drush core equivalent. Deprecate skip-progress-bar.
Rewritten via the replace-command consolidation hook, using the migrate_tools version only when the group option is passed.
migrate:rollback (mr)
Add compatibility layer for the skip-progress-bar option, which becomes no-progress on drush core equivalent. Deprecate skip-progress-bar.
Rewritten via the replace-command consolidation hook, using the migrate_tools version only when the group option is passed.
Others
Some other changes tangentially relevant in drush core.
Remaining tasks
In addition to the specific tasks listed here, we may want to re-implement the group option if Provide a way to alter the list of migration IDs in migrate commands is added to Drush core.
migrate:status (ms)
- Caveat: Long-term we may want to introduce a hook or use one available to pre-filter the set of migrations instead of filtering out the set produced by drush core, assuming it is possible also for the case of tags option which may anyway need a re-walk over migrations. See Provide a way to alter the list of migration IDs in migrate commands.
- TODO Likely take the same approach than on
mim and mr.
- FIXME Implement
continue-on-failure on drush core.
migrate:import (mim)
- Add support for the
continue-on-failure option, ideally on drush core. @claudiu.cristea suggested it can be welcomed there at https://gitlab.com/drupalspoons/migrate_tools/-/issues/118#note_552177518.
- Add compatibility layer for the
sync option, which should become the drush core delete option.
- Add support on drush core for the
tag option to receive multiple values.
migrate:rollback (mr)
- Add support for the
continue-on-failure option, ideally on drush core. See mim equivalent above.
User interface changes
CLI is changing a bit, but the target is that it should not really be noticeable for and end user.
API changes
N.A.
Data model changes
N.A.