Mục tiêu của tôi là nhập tệp json vào Drupal 8 bằng cách sử dụng các mô-đun Di chuyển (migrate_plus, migrate_tools).
Tôi sử dụng mô-đun Đoạn văn với các trường như Tên (tham chiếu thực thể) và thành phần (Số tự động). Và trong nút, tôi có tiêu đề và các trường khác có trường tham chiếu Đoạn văn.
Tôi nhập, đôi khi nút sẽ được tạo với tên đoạn trống, Nếu tôi đặt lại quá trình di chuyển và thử nhập lại, nhật ký db sẽ báo lỗi sau
Lỗi: Loại toán hạng không được hỗ trợ trong Drupal\migrate\Plugin\migrate\process\SubProcess->transform() (dòng 204 của C:\xampp\htdocs\drupal-migration\core\modules\migrate\src\Plugin\migrate\process \SubProcess.php) #0 C:\xampp\htdocs\drupal-migration\core\modules\migrate\src\MigrateExecutable.php(394): Drupal\migrate\Plugin\migrate\ process\SubProcess->transform(Array, Đối tượng(Drupal\migrate_tools\MigrateBatchExecutable), Đối tượng(Drupal\migrate\Row), 'field_ingredien...')
nhưng tôi không thể hiểu tại sao quá trình nhập không hoạt động. Tôi đã dành rất nhiều thời gian để gỡ lỗi.
Và nút cũng không được tạo nếu ic_ref
giá trị trống,
{
"lcia_id": 3,
"name": "Quả việt quất đông khô",
"trọng lượng tịnh": 1,
"quốc gia": "Vương quốc Anh",
"ic_ref": ""
}
Cấu hình di chuyển cho Thành phần(config/install/migrate_plus.migration.icm_config_group_json_source_node)
item_selector: /data/ingredients/
lĩnh vực:
-
tên: src_lcia_id
nhãn: 'ID LCIA'
bộ chọn: lcia_id
-
tên: src_name
nhãn: 'Tên thành phần'
bộ chọn: tên
-
tên: src_ic_ref
nhãn: 'ID đoạn IC'
bộ chọn: ic_ref
id:
src_lcia_id:
loại: số nguyên
tiến trình:
Tiêu đề:
plugin: concat
nguồn:
- src_name
- hằng số/TITLE_SUFFIX
pseudo_mbe_ic_paragraph:
plugin: di chuyển_lookup
di chuyển: icm_config_group_json_source_paragraph
nguồn: src_ic_ref
field_ingredient_composition:
plugin: sub_ process
nguồn:
- '@pseudo_mbe_ic_paragraph'
tiến trình:
target_id: '0'
target_revision_id: '1'
điểm đến:
plugin: 'thực thể: nút'
default_bundle: thành phần
di chuyển_phụ thuộc:
cần thiết:
- icm_config_group_json_source_paragraph
không bắt buộc: { }
Cấu hình di chuyển cho Thành phần(config/install/migrate_plus.migration.icm_config_group_json_source_paragraph)
nguồn:
item_selector: /data/composition
lĩnh vực:
-
tên: src_lcia_id
nhãn: 'ID LCIA'
bộ chọn: lcia_id
-
tên: src_name
nhãn: 'Tên thành phần'
bộ chọn: tên
-
tên: src_composition
nhãn: 'Thành phần nguyên liệu'
bộ chọn: thành phần
id:
src_lcia_id:
loại: chuỗi
tiến trình:
field_ingredient_name: src_name
field_ingredient_composition: src_composition
điểm đến:
plugin: 'entity_reference_revisions:paragraph'
default_bundle: thành phần_thành phần
di chuyển_phụ thuộc: null
dữ liệu JSON
"dữ liệu": {
"Thành phần": [
{
"lcia_id": 1,
"name": "Yến mạch nguyên chất(thông thường)",
"trọng lượng tịnh": 1,
"quốc gia": "Vương quốc Anh, Cộng hòa Ireland",
"ic_ref": 1
},
{
"lcia_id": 2,
"name": "Đường có hương vị",
"trọng lượng tịnh": 1,
"quốc gia": "Vương quốc Anh",
"ic_ref": 2
},
{
"lcia_id": 3,
"name": "Quả việt quất đông khô",
"trọng lượng tịnh": 1,
"quốc gia": "Vương quốc Anh",
"ic_ref": ""
}
],
"thành phần": [
{
"lcia_id": 1,
"tên": "Đường",
"thành phần": 0,9398839137645107
},
{
"lcia_id": 2,
"tên": "Men",
"thành phần": 0,04975124378109454
}
]
}
}```