web-dev-qa-db-ja.com

D8の場合、このフィールドに既に値がある場合、インポート中に既存のエンティティから一部のフィールドをスキップする(更新しない)方法

このフィールドにすでに値がある場合、インポート中に既存のエンティティから一部のフィールドをスキップする(更新しない)方法は? Drupal 8 for module(migrate、migrate_plus、migrate_tools)の場合)

私が望むymlの例:

 process:
 uid:
-
 plugin:migration_lookup 
 migration:users 
 no_stub:true 
 source :uid 
 field_telephone:phone 
 field_user_country:pays 
 field_adresse/given_name:prenom 
 field_adresse/family_name:
-
 plugin: skip_on_notempty \->存在しない
メソッド:プロセス
ソース:\-> 'field_adresse/family_name'の実際の値、それを取得する方法?
-
プラグイン:get 
ソース:nom 
6
steveoriol

単一のフィールドのみ、または場合によっては複数のフィールドをインポートするには、「overwrite_properties」を使用します。

overwrite_properties:移行で上書きするプロパティのリストが指定されている場合は、空の宛先値のセットで行を複製し、指定されたプロパティのみを再度追加します。

destination:
  plugin: 'entity:node'
  overwrite_properties:
    - field_name

ソース: Drupal\migrate\Plugin\migrate\destination

11
Ron Williams