Skip to main content

Migration training resources

Full participation in Agaric's Drupal 8 migrations quickstart (half-day training) and Drupal 8 content migrations (full-day training) courses requires a working, local installation of Drupal 8.

The morning can be done online with a free development site or (only web browser and working internet connection required).

Development Environment

The afternoon portion of the training requires a local dev environment— if you aren't able to get this set up ahead of time, we can help you during a break.  The two approaches we have tested:

All of these approaches work on GNU/Linux, MacOS, and Windows.


Although no prior Migrate module knowledge is required, it is expected that you have a basic understanding of nodes, content types, and fields. You can learn about these and other Drupal concepts by watching this session recording.

A working Drupal 8 installation is required. It is possible to follow some examples using a hosted Drupal service like To get the most out of the training a local installation is needed. Installing Drupal locally using composer is recommended.

Drush needs to be installed in order to run migrations from the command line. Xdebug and PHPStorm are used for the debugging example (techniques apply for other debuggers and IDEs).

It is recommended to use DrupalVM and configure it to use the drupal composer template.

Follow the quickstart guide to install DrupalVM with the xdebug extra package.

Install the following contrib modules:

  • address
  • entity_reference_revisions
  • migrate_plus
  • migrate_source_csv
  • migrate_tools
  • paragraphs

Assistance can be provided before the training starts, but it is better to come with your local environment already set up.

We're delighted you'll be participating in an Agaric migration training.  Please let us know if you'd like to learn about future training opportunities:

Follow-up resources

Taxonomy term migrations

Taxonomy terms, as very simple content usually directly associated with nodes, are amenable to two main approaches of migrating.

Migrate first in a true migration, similar to the entity_references example from the training, or create the taxonomy terms during the node migration.

Full migration approach

See Migrate Plus for examples, specifically the submodule migrate_example_advanced.

Create terms as-you-go approach

This approach means you can't clean them up easily with a migrate rollback but it can be suitable when you are confident of not needing to roll back or being able to delete all terms in the vocabulary if you need to do the migration fresh.

This was shown in the training in the professors example.  There is also community documentation of the entity generate plugin that we make use of there; it is provided by Migrate Plus.

Upcoming trainings