เป้าหมายของฉันคือนำเข้าไฟล์ json ไปยัง Drupal 8 โดยใช้โมดูล Migrate (migrate_plus, migrate_tools)
ฉันใช้โมดูลย่อหน้าที่มีฟิลด์เช่น ชื่อ (การอ้างอิงเอนทิตี) และองค์ประกอบ (จำนวนลอย) และในโหนด ฉันมีชื่อเรื่องและฟิลด์อื่นๆ ที่มีฟิลด์อ้างอิงย่อหน้า
ฉันนำเข้า บางครั้งโหนดจะถูกสร้างขึ้นด้วยชื่อย่อหน้าว่าง หากฉันรีเซ็ตการโยกย้ายและพยายามนำเข้าอีกครั้ง บันทึก db แสดงข้อผิดพลาดดังต่อไปนี้
ข้อผิดพลาด: ไม่รองรับประเภทตัวถูกดำเนินการใน Drupal\migrate\Plugin\migrate\process\SubProcess->transform() (บรรทัดที่ 204 ของ 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, วัตถุ(Drupal\migrate_tools\MigrateBatchExecutable), วัตถุ(Drupal\migrate\Row), 'field_ingredien...')
แต่ฉันไม่สามารถเข้าใจได้ว่าทำไมการนำเข้าถึงไม่ทำงาน ฉันใช้เวลามากในการดีบัก
และยังไม่มีการสร้างโหนดหาก ic_ref
ค่าว่างเปล่า
{
"lcia_id": 3,
"ชื่อ": "บลูเบอร์รี่แช่แข็ง",
"น้ำหนักสุทธิ": 1,
"ประเทศ": "สหราชอาณาจักร",
"ic_ref": ""
}
การกำหนดค่าการย้ายข้อมูลสำหรับส่วนผสม (config/install/migrate_plus.migration.icm_config_group_json_source_node)
item_selector: /ข้อมูล/ส่วนผสม/
เขตข้อมูล:
-
ชื่อ: src_lcia_id
ป้ายกำกับ: 'LCIA ID'
ตัวเลือก: lcia_id
-
ชื่อ: src_name
ป้ายกำกับ: 'ชื่อส่วนผสม'
ตัวเลือก: ชื่อ
-
ชื่อ: src_ic_ref
ป้ายกำกับ: 'รหัสย่อหน้า IC'
ตัวเลือก: ic_ref
รหัส:
src_lcia_id:
ประเภท: จำนวนเต็ม
กระบวนการ:
ชื่อ:
ปลั๊กอิน: concat
แหล่งที่มา:
- src_name
- ค่าคงที่/TITLE_SUFFIX
pseudo_mbe_ic_paragraph:
ปลั๊กอิน: การโยกย้าย_lookup
การย้ายข้อมูล: icm_config_group_json_source_paragraph
ที่มา: src_ic_ref
field_ingredient_composition:
ปลั๊กอิน: sub_process
แหล่งที่มา:
- '@pseudo_mbe_ic_paragraph'
กระบวนการ:
target_id: '0'
target_revision_id: '1'
ปลายทาง:
ปลั๊กอิน: 'เอนทิตี: โหนด'
default_bundle: ส่วนผสม
การโยกย้าย_การพึ่งพา:
ที่จำเป็น:
- icm_config_group_json_source_paragraph
ไม่จำเป็น: { }
การกำหนดค่าการย้ายข้อมูลสำหรับส่วนผสม (config/install/migrate_plus.migration.icm_config_group_json_source_paragraph)
แหล่งที่มา:
item_selector: /data/composition
เขตข้อมูล:
-
ชื่อ: src_lcia_id
ป้ายกำกับ: 'LCIA ID'
ตัวเลือก: lcia_id
-
ชื่อ: src_name
ป้ายกำกับ: 'ชื่อส่วนผสม'
ตัวเลือก: ชื่อ
-
ชื่อ: src_composition
ป้ายกำกับ: 'องค์ประกอบของส่วนผสม'
ตัวเลือก: องค์ประกอบ
รหัส:
src_lcia_id:
ประเภท: สตริง
กระบวนการ:
field_ingredient_name: src_name
field_ingredient_composition: src_composition
ปลายทาง:
ปลั๊กอิน: 'entity_reference_revisions:paragraph'
default_bundle: ส่วนผสม_ส่วนประกอบ
การโยกย้าย_การพึ่งพา: null
ข้อมูล JSON
"ข้อมูล": {
"ส่วนผสม": [
{
"lcia_id": 1,
"ชื่อ": "ข้าวโอ๊ตธรรมดา (ธรรมดา)",
"น้ำหนักสุทธิ": 1,
"ประเทศ": "สหราชอาณาจักร สาธารณรัฐไอร์แลนด์",
"ic_ref": 1
},
{
"lcia_id": 2,
"ชื่อ": "น้ำตาลปรุงรส",
"น้ำหนักสุทธิ": 1,
"ประเทศ": "สหราชอาณาจักร",
"ic_ref": 2
},
{
"lcia_id": 3,
"ชื่อ": "บลูเบอร์รี่แช่แข็ง",
"น้ำหนักสุทธิ": 1,
"ประเทศ": "สหราชอาณาจักร",
"ic_ref": ""
}
]
"องค์ประกอบ": [
{
"lcia_id": 1,
"ชื่อ": "น้ำตาล",
"องค์ประกอบ": 0.9398839137645107
},
{
"lcia_id": 2,
"ชื่อ": "ยีสต์",
"องค์ประกอบ": 0.04975124378109454
}
]
}
}```