Migrate Overview
Article
Two years into the development of Drupal 8, Dries Buytaert announced that Drupal 8.0 might ship without an upgrade path.
This unorthodox decision was made to support substantial improvements in Drupal’s major version upgrade process by introducing a robust new sub-system based on the popular contributed modules Migrate and Migrate D2D. The sub-system includes the Migrate module, which provides the basic framework and API, and the Migrate Drupal module, which provides the upgrade paths and framework to enable other Drupal-to-Drupal use cases in contrib.
The substantial wins with this new approach include the ability to move directly from Drupal 6 to Drupal 8 – as well as the possibility of providing more fine-grained control over the process – and the option of continuous content migration.
The migration team is working extraordinarily hard to be ready by the time that D8 is ready for beta. As of March 31, Migrate API has been committed to core. The last blocking issues for Migrate Drupal were resolved during the DevDays sprint, and the team will begin submitting patches for the D6 to D8 migration path to the core queue any day now.
A Drupal 6 to Drupal 8 upgrade without Migrate
Without the new API, an abbreviated move from Drupal 6 to Drupal 8 would have looked something like:
- Backup your database
- Update core and contrib to the latest version of 6
- Disable all contributed modules and switch to the core theme
- Delete the D6 code and replace it with D7 core code
- Run update.php
- Download the D7 contributed modules
- Enable the contrib modules
- Run update.php
- Repeat to upgrade from D7 to D8
For Drush users, the 'drush up
' command would vastly simplify this, but two full upgrades — from 6 to 7, then 7 to 8 — would still have been required, inevitably losing data in each step.