For the month of August, 2019, we published a series of blog posts to cover Drupal migrations. It covered basic concepts and different use cases. The posts are available English. We are currently working on translating them to Spanish and French. Many thanks to Agaric.coop, Drupalize.Me, and Centarro.io for their sponsorship of this series.
Please consider supporting us
If our writing efforts have been useful to you, please consider supporting us. You can buy the eBook on Gumroad, become a Patreon, or make a one time donation via PayPal. There are many projects we want to pursue and your financial support is very much appreciated. For example, we plan to publish a second edition of the series to include the latest developments. It has been over a year since originally written and the Migrate API has received many improvements. We also want to make a free video course and translate it to Spanish and French.
We would appreciate if you could spread the voice on social media by using the #31DaysOfMigrations hashtag and mentioning @udrupalcom on Twitter.

List of blog posts
- Drupal migrations: Understanding the ETL process
- Writing your first Drupal migration
- Using process plugins for data transformation in Drupal migrations
- Migrating data into Drupal subfields
- Using constants and pseudofields as data placeholders in the Drupal migration process pipeline
- Tips for writing Drupal migrations and understanding their workflow
- Migrating files and images into Drupal
- Introduction to migration dependencies in Drupal
- Migrating taxonomy terms and multivalue fields into Drupal
- Migrating users into Drupal - Part 1
- Migrating users into Drupal - Part 2
- Migrating dates into Drupal
- Migrating addresses into Drupal
- Introduction to paragraphs migrations in Drupal
- Migrating CSV files into Drupal
- Migrating JSON files into Drupal
- Migrating XML files into Drupal
- Adding HTTP Request Headers and Authentication to remote JSON and XML in Drupal migrations
- Migrating Google Sheets into Drupal
- Migrating Microsoft Excel and LibreOffice Calc files into Drupal
- Defining Drupal migrations as configuration entities with the Migrate Plus module
- Workflows and benefits of managing Drupal migrations as configuration entities
- Using migration groups to share configuration among Drupal migrations
- What is the difference between migration tags and migration groups in Drupal?
- Executing Drupal migrations from the user interface with Migrate Tools
- Understanding the entity_lookup and entity_generate process plugins from Migrate Tools
- How to debug Drupal migrations? - Part 1
- How to debug Drupal migrations? - Part 2
- How to configure XDebug, PHPStorm, and DrupalVM to debug Drupal migrations via Drush commands and the browser?
- List of migration related Drupal modules
- Introduction to Drupal 8 and 9 upgrades
And more articles under the migrations tag.
#DrupalThanks
The community around Drupal migrations is very supportive. Over the years, many people have helped us get a better understanding of the system. For giving us so much of their time and knowledge, we would like to give special thanks to:
- Lucas Hedding (heddn)
- Adam Globus-Hoenich (phenaproxima)
- Vicki Spagnolo (quietone)
- Michael Lutz (mikelutz)
- Markus Sipilä (masipila)
- Benji Fisher (benjifisher)
And to you, the reader, for joining us in this learning experience, thank you very much! ¡Muchas gracias! Merci beaucoup! :-D