This project is not covered by Drupal’s security advisory policy.

WIP:

Import, export and manage content across multiple environments of the same site using Migrate.

Description

This module allows you to export your content as PHP objects and then import them again in a site that has the same entity types, bundles and fields defined as the site you're exporting from.

Its main goal is to simplify deployments and site installation (for example for individual developers) and reduce manual labor required in continuous integration processes. There are possibly other use cases (content backups / version control for example), but those are not the main intent or goal of this module.

Using migration groups, you can define groups of content such as demo content, content for automated or developer testing, and what we call "structural" content, e.g. content that is needed for the site to function as intended (think required entity reference fields, pages with views references et. al.)

This module offers no UI or drush commands of its own. Instead, it offers a number of migration classes intended to allow you to migrate content between site that have a matching configuration.

You will need to use the migrate module and its drush commands (or the migrate_ui submodule) to "migrate" your content from your exports into the destination site.

Features

  • Automatically resolve relationships between entities by checking the desination database upon import
  • Use the migrate highwater marks to only overwrite outdated content
  • Use migration groups to seperate different types of default content
  • Ships with support for core entities and field collections. Extendable to allow other modules to add support for other entity types

Comparison with other modules

UUID Features Integration

UUID Features Integration takes a similar approach, but uses the features API rather than Migrate to import content. The biggest downside is that it doesn't look at the created/modified date of the content, and rather approaches it as any other features component, showing it as overridden if the content is changed. Any deployment that would run features revert all would subsequently override changes made to content, even if content on that environment is more up-to-date than that which is stored in the exports.

Deploy

Deploy requires a working database connection between separate environments in order to move content. It isn't really possible to create content by default, e.g. in an installation profile when a site is installed. Exporting content appears to be broken.

Dependencies

- Migrate (2.6 RC2 or newer)
- Migrate D2D
- UUID

Project information

Releases