Tôi có một di chuyển nút bằng cách sử dụng d7_node plugin nguồn.
Tôi đang cố di chuyển các giá trị của trường tham chiếu thuật ngữ phân loại đa giá trị sang trường tham chiếu thuật ngữ phân loại đa giá trị trong D9. Có một sự di chuyển riêng biệt để nhập các thuật ngữ phân loại hoạt động tốt.
Trong di chuyển nút của tôi, tôi có một cái gì đó như:
trường_my_tax_field:
plugin: di chuyển_lookup
di chuyển: my_taxonomy_migration_id
nguồn: field_my_d7_tax_field
Tuy nhiên, điều này đưa ra một ngoại lệ và quá trình di chuyển không thành công. Khi tôi ném một điểm ngắt vào Drupal\migrate\Plugin\migrate\ process\MigrationLookup::transform() (nơi ném ngoại lệ), tôi có thể thấy rằng giá trị được truyền là một mảng, nhưng plugin tra cứu muốn có một giá trị vô hướng. Mảng được thông qua giống như:
['id_mục_tiêu' => 123]
Với thông tin này, tôi có thể thực hiện công việc này bằng cách cập nhật cấu hình di chuyển của mình với nội dung như:
trường_my_tax_field:
- plugin: gọi lại
có thể gọi: đặt lại
nguồn: field_my_d7_tax_field
- plugin: di chuyển_lookup
di chuyển: my_taxonomy_migration_id
sử dụng cài lại()
như thế này cảm thấy lỏng lẻo. Và có vẻ lạ khi bước bổ sung này là cần thiết, đây có vẻ như là trường hợp sử dụng số 1 cho hàm migration_lookup.
Tôi đang thiếu gì? Làm thế nào tôi có thể làm điều này một cách tốt hơn?