This project is not covered by Drupal’s security advisory policy.
Smart Migrate CLI overrides Drush ^11 migrate:import command to fix the tiny-tiny nits which slightly degrade its DX:
-
Drush ^11 executes migration operations with user
0. SMC's migrate:import uses uid1. -
Drush ^11 migrate import command does not build the optimal execution order - meaning that we usually have to use the
--execute-dependenciesarg. No need for that - we just have to callMigrationManager::buildDependencyMigrations()and keep the order it returns. -
Migrate Drupal UI's
MigrateUpgradeImportBatchexecutes migrations with batch - meaning that every new import operation is started in a new request. This ensures that new fields created by a previously executed migration are reflected in (plugin, entity type, field etc) managers.Unfortunately, Drush ^11 migrate command instantiates migrations only at the beginning of its import command. Smart Migrate CLI re-instantiates them right before import, ensuring that most of services injected in source or destination plugin instances are up-to-date.
-
Because of the above, entity caches might be obsolete when we are about to start importing e.g. content entities.
-
Drush ^11 is unaware of classic or complete node migrations. It does not check what is the configured node migration strategy - it just executes both classic and complete migrations - which results in data corruption (or misleading error messages).
-
Drush ^11 is unaware of follow-up migrations. It seems it does not know they exist - but it does not handles them the right way for sure.
Project information
- Project categories: Import and export, Developer tools
- Created by huzooka on , updated
This project is not covered by the security advisory policy.
Use at your own risk! It may have publicly disclosed vulnerabilities.
Releases
Drupal 11 and Drush 13 compatibility
Development version: 1.0.x-dev updated 30 Jun 2025 at 05:55 UTC
