The Migrate module provides a flexible framework for migrating content into Drupal
from other sources (for example, when converting a web site from another CMS to Drupal).
It comes with support for creating most core Drupal objects (nodes, users, comments,
taxonomy terms, roles...) plus support for some contrib modules. Hooks are provided to
support migration of other types of content.
The Migrate module is designed to support
a migration process along these lines:
- Import - The Data module or
Table Wizard module
can be used to import external data into tables in your
Drupal database. Any tables in your Drupal database, or in other databases on the
same server, can be made available to Views
for review and migration.
- Analysis - Table Wizard performs analysis of table data (ranges, sizes, etc.), and
supports collaborative documentation of table fields.
- Content sets - Use the views Data or Table Wizard create for your source tables,
or create more complex views joining data in multiple tables, as the basis for a
content set. Configure the content set to map fields in the view to
fields in Drupal objects such as nodes and users.
- Migration - Migrate takes rows from the content sets and creates
Drupal objects from them. Migration is reversible - migrated data can be quickly backed out and
migrated again. A dashboard is provided to easily manage the process. Background processing
via drush is supported for large migrations.
- Auditing - Errors and other conditions reported during migration are flagged and can
be reviewed in Views. Also, Migrate maintains mapping tables from the source data to the
resulting Drupal objects, enabling the creation of comparison views.
Acknowledgements
Much of the Migrate module functionality was sponsored by
GenomeWeb and
The Economist. The original code was based
on node_import.