59 lines
2.5 KiB
Plaintext
59 lines
2.5 KiB
Plaintext
INTRODUCTION
|
|
------------
|
|
The migrate_example_advanced module demonstrates some techniques for Drupal 8+
|
|
migrations beyond the basics in migrate_example. It includes a group of
|
|
migrations with a wine theme.
|
|
|
|
SETUP
|
|
-----
|
|
To demonstrate XML migrations as realistically as possible, the setup module
|
|
provides the source data as REST services. So the migrations' references to
|
|
these services can be set up accurately, if you install migrate_example_advanced
|
|
via drush be sure to use the --uri parameter, e.g.
|
|
|
|
drush en -y migrate_example_advanced --uri=http://d8.local:8083/
|
|
|
|
THE WINE SITE
|
|
-------------
|
|
In this scenario, we have a wine aficionado site which stores data in SQL tables
|
|
as well is pulling in additional data from XML services.
|
|
|
|
To make the example as simple as to run as possible, the SQL data is placed in
|
|
tables directly in your Drupal database - in most real-world scenarios, your
|
|
source data will be in an external database. The migrate_example_advanced_setup
|
|
submodule creates and populates these tables, as well as configuring your Drupal
|
|
8 site (creating node types, vocabularies, fields, etc.) to receive the data,
|
|
and providing service endpoints for XML data.
|
|
|
|
STRUCTURE
|
|
---------
|
|
As with most custom migrations, there are two primary components to this
|
|
example:
|
|
|
|
1. Migration configuration, in the config/install directory. These YAML files
|
|
describe the migration process and provide the mappings from the source data
|
|
to Drupal's destination entities.
|
|
|
|
2. Source plugins, in src/Plugin/migrate/source. These are referenced from the
|
|
configuration files, and provide the source data to the migration processing
|
|
pipeline, as well as manipulating that data where necessary to put it into
|
|
a canonical form for migrations.
|
|
|
|
UNDERSTANDING THE MIGRATIONS
|
|
----------------------------
|
|
Basic techniques demonstrated in the migrate_example module are not rehashed
|
|
here - it is expected that if you are learning Drupal 8+ migration, you will
|
|
study and understand those examples first, and use migrate_example_advanced to
|
|
learn about specific techniques beyond those basics. This example doesn't have
|
|
the narrative form of migrate_example - it's more of a grab-bag demonstrating
|
|
varous features, and is more of a reference for, say, copying the code to set
|
|
up an XML migration. An index of things demonstrated by this module:
|
|
|
|
Multiple vocabularies populated in one migration
|
|
------------------------------------------------
|
|
See migrate_plus.migration.wine_terms.yml.
|
|
|
|
Importing from XML services
|
|
---------------------------
|
|
See migrate_plus.migration.wine_role_xml.yml.
|