When one starts working with migrations, it is easy to be overwhelmed by so many modules providing migration functionality. Throughout the series, we presented many of them trying to cover module one at a time. This with the intention to help the reader understand when a particular module is truly needed and why. But we only scratched the surface. Today’s article presents a list of migration related Drupal modules for quick reference. Let’s get started.
At the time of this writing, Drupal core ships with four migration modules:
- Migrate: provides the base API for migrating data.
- Migrate Drupal: offers functionality to migrate from other Drupal installations. It serves as the foundation for upgrades from Drupal 6 and 7. It also supports reading configuration entities from Drupal 8 sites.
- Drupal Migrate UI: provides a user interface for upgrading a Drupal 6 or 7 site to Drupal 8.
- Migrate Drupal Multilingual: is an experimental module required by multilingual translations. When they become stable, the module will be removed from Drupal core. See this article for more information.
Once the migration definition files have been created, there are many options to execute them:
The Migrate API offers many options to fetch data from:
The Migrate API is mostly used to move data into Drupal, but it is possible to write to other destinations:
- Migrate (core): provides classes for creating content and configuration entities. It also offers the `null` plugin which in itself does not write to anything. It is used in multilingual migrations for entity references.
- Migrate Plus: provides the `table` plugin for migrating into tables not registered with Drupal Schema API.
- CSV file: example destination plugin implementation to write CSV files. The module was created by J Franks for a DrupalCamp presentation. Check out the repository and video recording.
These modules can help with writing Drupal migrations:
Field and module related
Modules created by Tess Flynn (socketwench)
While doing the research for this article, we found many useful modules created by Tess Flynn (socketwench). She is a fantastic presenter who also has written about Drupal migrations, testing, and much more. Here are some of her modules:
- Feeds Migrate: it aims to provide a user interface similar to the one from Drupal 7’s Feeds module, but working on top of Drupal 8’s Migrate API.
- Migrate Override: allows flagging fields in a content entity so they can be manually changed by side editors without being overridden in a subsequent migration.
- Migrate Status: checks if migrations are currently running.
- Migrate QA: provides tools for validating content migrations. See this presentation for more details.
And many, many more modules!
What did you learn in today’s blog post? Did you find a new module that could be useful in current or future projects? Did we miss a module that has been very useful to you? Share your answers in the comments. Also, I would be grateful if you shared this blog post with others.