web-dev-qa-db-ja.com

Migrate Source CSVプラグインを使用した画像の移行

現在、Drupal 7 to Drupal 8サイトから、この非常に役立つチュートリアルを使用してノードをインポートしています: https://www.drupal .org/docs/8/upgrade/using-the-migrate-source-csv-plugin フィールドをインポートするためのかなり良い方法を見つけました。現時点での唯一の障害は画像です。私はそれを非常に見つけています画像のインポートを管理する方法について何かを見つけるのは難しい、そこからインポートできる古い画像のパスを指定するか、ファイル名を指定してからどこかに画像を配置するかどうか、両方を試してみたこれまでのところ、作成された新しいノードでは画像フィールドが常に空白になるだけです。上記のリンクアプローチを使用して頭を悩ませているので、それに合う解決策があればそれは素晴らしいことです!

1
karl

最初に、必要なすべてのファイルの移行を実行する必要があります。 file_copyプロセスプラグインは、この部分の最良の友になります。はじめに、

id: image_migration
destination:
  plugin: 'entity:file'
process:
  uri:
    plugin: file_copy
    source:
      - file_source_uri
      - file_destination_uri

ファイルを移行したら、実際に画像フィールドにファイルについて伝えるのは非常に簡単です

process:
  field_image:
    plugin: migration
    migration: image_migration
    source: image_id

いくつかのメモ:

  • image_migrationは、イメージをインポートする移行を指します。別の名前を使用する場合は、必ず変更してください。
  • image_idは、イメージ移行のキーである必要があります。これは、インポート中に作成された新しいファイルにマップされます。

非常に役立つガイド

1
RedEight