Migrate commands are now part of Drush core
Starting with 302bda8, the migrate runner commands provided Migrate Run module are part of Drush core and will be available in the upcoming Drush 10.4.0 stable version.
What are the implications for Migrate Tools?
- Drush core now provides the same commands as Migrate Tools, leading to command name collision.
- For this reason
drush/drush:10.4.0
and beyond will conflict withdrupal/migrate_tools:<=5
(it also conflicts withdrupal/migrate_run:*
). - Drupal core migration plugin discovery relies on plugin definitions stored in YAML files, under module
migrations/
directory. Migrate Tools (via Migrate Plus) offers an additional custom plugins discovery, by placing plugin definitions in config entities. This kind of plugin discovery is not supported by Drush core migrate runner. - Drupal core provides a migration classification by tagging the migrations. Migrate Tools (via Migrate Plus) offers an additional type of classification by using migration groups. This kind of classification is not supported by Drush core migrate runner.
Proposal
-
Migrate Tools (or Migrate Plus) to alter the standard Drush discovery, by discovering also the plugins defined by config entitiesEDIT: As @mikelutz, pointed out on Slack, the discovery ofmigrate_plus
config entity migrations will work natively, as the migrate plus module converts those to core plugins via a singlemigrations/
yaml and a deriver. - Migrate Tools (or Migrate Plus) to replace the appropriate standard Drush commands that are using grouping and provide also this feature.
- For the above proposals, open a new
6.x
branch in Migrate Tools or move the whole logic in Migrate Plus.
Drush coordination
If adapting Migrate Tools needs changes in Drush, I am open for Drush code refactoring that makes it easier for Migrate Tools to hook in.
TODO: This summary should be expanded.
Edited by Claudiu Cristea