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, and comments is included - it can easily be extended for migrating other kinds of content. Content is imported and rolled back using Drush commands.
Requirements
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.
Status
Migrate 2.2 is now available - see the Drupal 7 or Drupal 6 release notes for full details. Key enhancements are:
- #719650: Migration sets/groups
- #1201762: Implement default source count caching
- #1205278: Prevent file deletion on rollback
- #1078368: Document Argument for auto-creation of terms from references
- #1199150: Add fid-based file_function to file handler
- #1180188: Handle importing files from blobs
- #1179464: Ability to disable handlers
- #1175094: Add complete() handler to MigrateFieldsEntityHandler
- #1176930: Export field definitions to CSV
- #1169724: Oracle source plugin
Migrate V2 was a complete rewrite from the ground up - we used what we learned with Migrate V1 to come up with a much more flexible development framework. There will be no automated upgrade path from Migrate V1 to Migrate V2 - if you currently have migration processes implemented using Migrate V1, you are probably best off not moving them to Migrate V2. If you are just starting with Migrate, it is recommended that you begin with Migrate V2.
Note that Migrate 1 had the capability of defining mappings through the UI - this capability is not currently in Migrate V2. See #1017246: UI for running migrations and #1123538: UI for defining migrations.
There will be no new development on Migrate V1. 6.x-1.2 was the final release of Migrate V1.
Support for contributed modules
The ideal 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.
If this is not practical, or as an intermediate step before submitting migration support to the contrib module itself, the best alternative is for the contrib support to be added in the Migrate Extras module.
No contrib module support will be added to the core Migrate module (with the exception that CCK support is in Migrate V2 for Drupal 6, for ease of synchronization with the Drupal 7 version).
Resources
- The WordPress Migrate module builds on the Migrate module framework to provide a turnkey solution for importing WordPress blogs into Drupal.
- The TYPO3_migrate module similarly extends Migrate for importing Typo3 sites into Drupal.
- And, phpBB2Drupal for importing from phpBB.
- The Economist.com data migration to Drupal
- Cyrve presented their data migration process and tools (Migrate 1) at Drupalcon DC 2008. The video is available for free.
Acknowledgements
Much of the Migrate module functionality was sponsored by Cyrve, for its clients
- GenomeWeb, and The Economist - Initial development of Migrate 1.
- Examiner.com - Initial development of Migrate 2 on Drupal 7.
- Martha Stewart Living Omnimedia - Backport of Migrate 2 to Drupal 6.
Thanks to Frank Carey for the Migrate Extras module.
Downloads
Recommended releases
Development releases
Project Information
- Maintenance status: Actively maintained
- Development status: Under active development
- Module categories: Content, Developer, Import/Export
- Reported installs: 5090 sites currently report using this module. View usage statistics.
- Last modified: January 10, 2012