Migrating to Drupal

Drupal's Migrate API is a powerful framework for importing and transforming data from various sources (including older versions of Drupal) into Drupal, facilitating seamless data migration and content integration during site upgrades or data consolidation projects.

This course covers the basics of the migration system, including key terms and concepts, the core migration modules, and the various contributed modules that can enhance the migration process. You will also explore where to find additional documentation and examples to help you understand how to implement and customize migrations. This is a good starting point for anyone wanting to learn more about the Drupal Migration API.

Key topics

  • Introduction to the migration system in Drupal
  • Key terms and concepts related to migrations
  • Overview of core migration modules and their purposes
  • Contributed modules that enhance the migration process
  • Understanding the extract, transform, load (ETL) process
  • Define the role of migration plugins for source, process, and destination
  • How to plan and prepare for a migration
Tutorials in this course
More information

Whether you're updating from Drupal 6 or Drupal 7, or importing data from some other source, you need to know about the migrate system in the latest version of Drupal. This tutorial provides an overview and links to additional tutorials where you can learn more about how all the individual parts work.

By the end of this tutorial you should have a better understanding of what the migration system is capable of and know where to find more information about how to use it.

Drupal 8, 9, 10, and 11
More information

To follow along with the rest of the migration tutorials you'll want to make sure you understand the following concepts and terms as they relate to Drupal migrations.

In this tutorial, we'll take look at the basic components of a migration and familiarize ourselves with some of the concepts and terminology needed to understand how the system works. We'll cover:

  • What is a migration?
  • Migration templates
  • The extract, transform, load process
  • Destinations and sources
  • Additional Drupalisms

By the end of this tutorial you should be able to identify the various components that a migration is composed of, and explain at a basic level what each is responsible for.

More information

Every migration is unique, which means there are loads of great examples you can review and learn from. We'll keep this tutorial up-to-date with our favorites and let you know how we think these examples might help.

Drupal 8, 9, 10, and 11
More information

In Drupal, there are 3 modules in core related to migration that you'll want to know about. These modules can help you import data into Drupal from disparate sources, or upgrade from a previous version of Drupal.

In this tutorial we'll look at what each of these core migration modules do, and talk about when you'll need to use them.

More information

There's a whole ecosystem of contributed modules that build on the Migrate API in Drupal core. They do things like provide Drush commands for working with migrations, add new sources (CSV, JSON, etc.), add new destinations, provide code examples, and fill in other gaps. Think of these as the tools of the trade you’ll use to do your work. In most cases you’ll use these to do the migration, but then once the migration is complete you can remove them from your project.

Then there are the contributed modules that add features to your site. Like Flag, Paragraphs, or Webform. These modules often contain migration-related code that is intended to help make it easier to handle data specific to these modules. There is code in the Flag module, for example, that can help with knowing how to extract flagging records from Drupal 7, and for transforming that data into the format the module expects it to be in for Drupal 10. You might end up having to tweak it a bit, but at least you’re not starting from scratch.

In this tutorial we'll:

  • Look at some of the most commonly used toolset modules.
  • Explain what you can expect to find in standard contributed modules related to migrations.

By the end of this tutorial you should have a better sense of the various tools available to you for authoring a migration.

This course appears in the following guides:
Module Development
Upgrade from Drupal 7 or import custom data using Drupal's Migrate API.

Learn to Migrate to Drupal