The migrate module provides a flexible framework for migrating content into Drupal from other sources (e.g., when converting a web site from another CMS to Drupal). Out-of-the-box, support for creating core Drupal objects such as nodes, users, files, terms, and comments are included - it can easily be extended for migrating other kinds of content. Content is imported and rolled back using a bundled web interface (Migrate UI module) or included Drush commands (strongly recommended).


Migrate 2.8 is the current supported release - no particular theme, most importantly there is a security fix. See the issues tagged as Migrate 2.8 for full details.

Migrate 2.7 was primary a bug-fix release. There were a couple of significant problems with the SQL batching support added in Migrate 2.6, so if you're on 2.6 it is highly recommended you upgrade to at least 2.7 as soon as you can. See the issues tagged as Migrate 2.7 for full details.

For those still on Migrate 2.5 or earlier, there have been a lot of changes. The main theme with 2.6 was UX - the existing UI has been significantly rearranged, and a new API has been introduced to allow other modules to easily developed wizard-style UIs targeted to non-developers. migrate_d2d 2.1 has a new submodule providing a wizard UI, and wordpress_migrate has a release candidate making use of this new framework.

Going forward from here, I feel the functional API is pretty complete - feature requests are addressing ever narrower use cases. The UI underwent much change with 2.6, however, and has more room for improvement. My own focus from this point will be on Drupal 8, so while I'll do my best to fix bug reports without patches myself, feature requests are unlikely to get in without

  1. A patch (ideally reviewed & tested by the community),
  2. A justification that the feature is generally useful (and not just addressing a very narrow use case), and
  3. Demonstration that the desired outcome is not achievable (at least without considerable effort) using existing functionality.


Migrate V2 on Drupal 7 has no external dependencies. Migrate V2 on Drupal 6 requires the autoload (version 2) and dbtng modules. To use the migrate_ui submodule on Drupal 6, you also need elements.

Support for contributed modules

The place to implement migration support for a contributed module is in that module, not in the Migrate module. That way, the migration support is always self-consistent with the current module implementation - it's not practical for the Migrate module to keep up with changes to all other contrib modules.

Historically, if this did not seem practical, or as an intermediate step before submitting it to the contrib module itself, support for some contrib modules has gone into the Migrate Extras module. We're now deprecating this module - every effort should be put into integrating migration support directly into the target module.

Specialized migration modules

These modules use the Migrate framework to implement imports from specific sources.

Case studies

Other resources


The Migrate module is primarily maintained by Mike Ryan of Acquia.

Past sponsors include:

Project Information