migrate_plus.migration.wine_role_json.yml 1.83 KB
Newer Older
1 2 3
# This migration demonstrates importing from a monolithic JSON file.
id: wine_role_json
label: JSON feed of roles (positions)
4
migration_group: wine
5 6 7 8 9 10 11 12 13
source:
  # We use the JSON source plugin.
  plugin: url
  data_fetcher_plugin: http
  data_parser_plugin: json
  # Normally, this is one or more fully-qualified URLs or file paths. Because
  # we can't hardcode your local URL, we provide a relative path here which
  # hook_install() will rewrite to a full URL for the current site.
  urls: /migrate_example_advanced_position?_format=json
14 15
  # An xpath-like selector corresponding to the items to be imported.
  item_selector: position
16 17 18 19 20
  # Under 'fields', we list the data items to be imported. The first level keys
  # are the source field names we want to populate (the names to be used as
  # sources in the process configuration below). For each field we're importing,
  # we provide a label (optional - this is for display in migration tools) and
  # an xpath for retrieving that value. It's important to note that this xpath
21
  # is relative to the elements retrieved by item_selector.
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
  fields:
    -
      name: machine_name
      label: 'Unique position identifier'
      selector: sourceid
    -
      name: friendly_name
      label: 'Position name'
      selector: name
  # Under 'ids', we identify source fields populated above which will uniquely
  # identify each imported item. The 'type' makes sure the migration map table
  # uses the proper schema type for stored the IDs.
  ids:
    machine_name:
      type: string
process:
  # Note that the source field names here (machine_name and friendly_name) were
  # defined by the 'fields' configuration for the source plugin above.
  id: machine_name
  label: friendly_name
destination:
  plugin: entity:user_role
44
migration_dependencies: {}
45 46 47 48
dependencies:
  enforced:
    module:
      - migrate_example_advanced