The term ‘Migrate’ in the context of Drupal means re-creating the content and configuration of a source site (usually Drupal 6 or Drupal 7) in a new Drupal 8 installation. In earlier versions of Drupal, the common practice was to provide an upgrade path. i.e., update the code to the latest version and then upgrade the database structure according to the code. Once it is done, the content is updated separately.
While some of the content has to be migrated manually depending on the complexity of the site, all default content types will be automatically migrated. Custom content types have to manually migrated.That being said, migrating manually isn’t a big pain when it comes to Drupal. The data is properly structured and all that needs to be done is to write a few sql queries to migrate the tables from the old structure to the new structure.
In Drupal 8, a migration path has been provided. This is done by first creating a new Drupal 8 installation either on the same host or a different one, but with access to the database. Drupal 8 provides a Migrate API and a Migrate UI, where we will enter the link to the site to migrate and the destination site to which the migrated content will be pulled by the Migrate API. When it comes to custom content in Drupal 8, it is possible to write custom migrations provided by the migrate API. This is the equivalent of writing mysql queries in versions prior to this. You can see these custom and default migrations available in the migrate UI and decide which ones to run or not!
While upgrading the Drupal versions 5 through 7, the most common practice has been to overwrite existing site with the newer version. This may often lead to complications if the content (nodes, entities, contexts etc) are quite complex or if some modules don’t have a higher version. However, it would be easier and less time consuming to have a new Drupal installation and move all the content from the old site to this new Drupal installation. This is what Drupal 8 has done and this explains why moving to Drupal 8 is the easiest and best choice!
The new version of drush (Command line utility for Drupal) also provides several helpful Drush commands:
- migrate-import (mi): Performs one or more migration processes.
- migrate-manifest: Execute the migrations as specified in a manifest file.
- migrate-messages: View any messages associated with a migration.
- migrate-reset-status: Reset an active migration status to idle.
- migrate-rollback: Rollback one or more migrations.
- migrate-status (ms): List all migrations with current status.
- migrate-stop (mst): Stop an active migration
The migration process in Drupal 8 is quite impressive; it has become more polished and smoother with the help of Migrate API. After a few test runs of the migration process, it is quite evident that it is quite stable and seamless and a lot less painless than the earlier ones.
At Zyxware, we have enabled our clients to make a quick and hassle-free shift to Drupal 8. We have sufficient technical expertise to ensure a smooth and uninterrupted transition, without any visible impact on your business. Call us today to know more about our Drupal development services and understand the fastest way to make the change to Drupal 8 before your competitor does!