Drupal - Migrate - Définir une valeur par défaut à migration_lookup

Dans le cas d'une migration, un plugin très pratique permet de retrouver une référence avec son nouvel id.

Pour faire simple, si vous migrer les utilisateurs les ids peuvent potentiellement changer, une table de mapping est créé et permet de faire le lien Ancien site => Nouveau site permettant ainsi d'affecter les contenus à leur créateur via le plugin migration_lookup

uid:
  plugin: migration_lookup
  migration: ma_migration_utilisateurs
  source: uid

Ainsi, la valeur uid prendra la valeur migrée de l'id de l'utilisateur via la migration ma_migration_utilisateurs.

Mais si un utilisateur à été supprimé par exemple, alors un « stub » sera créé, un utilisateur « vide »... ce qui n'est pas forcément idéal.

On peut via une petite combiner utiliser ce système avec le plugin default_value qui permet de définir une valeur par défaut si le champ est vide.

  uid_lookup:
    plugin: migration_lookup
    migration: anct_user
    source: uid
  uid:
    plugin: default_value
    source: '@uid_lookup'
    default_value: 1

ainsi ici, uid_lookup prendra la nouvelle valeur de l'id de l'utilisateur migrée, null si pas trouvé. et le plugin default_value affectera dans ce cas la valeur 1.

Contenus en rapport

Ajouter un commentaire

Ne sera pas publié
CAPTCHA
Désolé, pour ça, mais c'est le seul moyen pour éviter le spam...