Earlier versions (Drupal 7 and 6) included a built-in update mechanism that provided in-place version updates both within the same major version (Drupal 7.3 to 7.8 for example) and between major versions (Drupal 6.12 to Drupal 7.4 for example). That required doing updates in place, putting the new codebase on top of the old database.
In Drupal 8, on the other hand, a migration based system is introduced, which allows to migrate content and configuration between two independent sites. The system is largely inspired by the work of the Drupal 7 Migrate and Drupal-to-Drupal Data Migration modules. It is a much more robust and extensible system than in previous major versions of Drupal core.
The functionality of the new Migrate and Migrate Drupal modules included in core greatly expands on the functionality of previous versions of the Migrate module in that they now handle both site configuration and content.
Upgrading from Drupal 6 and Drupal 7 sites is now possible, with support for:
- Drupal 6: core + CCK + Link + Email + Phone + ImageCache modules.
- Drupal 7: only content, users, taxonomy, blocks, menus, filter formats (more coming soon - ).
Migrations that are not yet supported include:
- Views ( )
- Multilingual content ( )
- Node, user, entity references (
How to find the migration modules and tools
|Name||Where is it?||What does it do?|
|Migrate||Drupal 8 core module||Provides the underlying API for migrating configuration and content to Drupal 8. The migration source may be a different system altogether.|
|Migrate Drupal||Drupal 8 core module||Provides the classes specifically needed to migrate configuration and content from a Drupal source site to Drupal 8 as a special case of Migrate.|
|Drupal Upgrade||Contributed module but proposed for core in 8.x, see||Provides the tools necessary for performing an upgrade from Drupal 6 or Drupal 7 to Drupal 8 — both a simple user interface (at /upgrade) as well as the migrate-upgrade drush command.|
|Migrate Tools||Contributed module||Provides optional drush (migrate-status, migrate-import, migrate-rollback, migrate-stop, migrate-reset-status, migrate-messages, migrate-fields-source) and UI tools for managing your migrations.|
|Migrate Plus||Contributed module||Provides APIs for grouping migrations as well as a facility to manipulate incoming source data in migrations as well as code examples to build custom migrations.|
|Migrate Manifest||Contributed module||Provides a drush command for running template-based SQL migrations from a manifest file.|
|Migration plugins||Within core modules and contributed modules||Provide mapping for the configuration and content of the respective module. For example, the migration plugins that handle taxonomy vocabularies and terms are located in the core taxonomy module.|
Developer documentation is available for writing your own custom migrations.