Migration with unique index across multiple fields It is the first time I'm using the migrate module and I want to import some nodes from a JSON file and to specify a unique key that has two distinct fields. I.e so that the row is not imported or it's updated when the combination of those two fields values already exists in the database

id: import_json_entities
label: "JSON Entities"
migration_group: import_json_group

destination:
  plugin: entity:node

migration_dependencies: { }

dependencies:
  enforced:
    module:
      - my_module

source:
  plugin: url
  data_fetcher_plugin: file
  data_parser_plugin: json

  urls:
    - 'public://entitities.json'

  item_selector: Schema

  ids:
    - name
    - version

  fields:
    -
      name: name
      label: 'Name'
      selector: Name
    -
      name: version
      label: 'Version'
      selector: Version


process:
  type:
    plugin: default_value
    default_value: service

  title: name
  uid:
    plugin: default_value
    default_value: 1

  field_version: version


It works if I only leave "name" in the list of ids, but it does not import anything if I specify both "name" and "version" as id.

What I want is something similar with what you achieve in MySQL with:

ALTER TABLE `entities` ADD UNIQUE `unique_index`(`name`, `version`);
This is what I'm using in one of my imports:

source:
  ids:
    event_id:
      type: integer
    date_iso:
      type: string


I'm explicitly specifying the ID column type using type: integer or type: string.