Check your version

This collection covers a topic in Drupal 7 which may or may not be the version you're using. We're keeping this tutorial online as a courtesy to users of Drupal 7, but we consider it archived.

Alternate resources: 

Importing Data With Migrate and Drupal 7

This series is focused on using the Migrate module to take data that exists in various different sources and import into a Drupal 7 website. The Migrate module provides an extremely flexible and robust framework for accessing data from various sources, and importing or migrating that data to Drupal. With built in support for creating core Drupal data types likes nodes, users, and taxonomy terms, the Migrate module is one of the best solutions available for importing content into Drupal.

This series kicks off with Joe Shindelar explaining the basic components that make up a data migration, and the terminology and code that is specific to the Migrate module. Then continues with a series of lessons that take you from installing the Migrate module to writing and running your own custom data migration.

Throughout the series Joe teaches us how to run a data migration using both the Migrate module's UI and drush, and some of the plusses and minuses of both methods. Joe also talks about the various different sources, or types of data, from which the Migrate module can read data and how to map the unique fields in a row of source data to their corresponding Drupal content types and fields.

By migrating from a single source into two different Drupal content types we'll also have the opportunity to learn about creating relationships during a migration and mapping the resulting information to an entity reference field. During the course of writing a custom migration Joe will show us how and where we can add code to perform additional runtime data munging during our import process. We'll learn about importing data into multi-value fields, and even providing defaults for fields that don't have information. Then look at some of the tools the migrate module provides for collaborating with team members in order to create a successful migration path.

Finally we'll wrap up the series looking at a couple of different techniques for debugging our migrations and dealing with pesky source material that just doesn't want to be imported.

Because this series is focused primarily on writing custom data migrations and since the Migrate module itself requires at least some amount of code to be written to perform a migration it is suggested that students be familiar with PHP and basic Object Oriented Programming techniques. And although not required to run a migration Joe uses the drush command line tool extensively in this series. If you need a refresher on using drush take a moment to watch our drush series.