Score:1

ใช้ deriver ใน Drupal Migration yml

ธง in

ฉันกำลังพยายามใช้คีย์ deriver ในการย้ายข้อมูล yml เพื่อสร้างการย้ายข้อมูลแบบไดนามิกสำหรับแต่ละบันเดิลของประเภทเอนทิตี (Drupal 9)

ฉันอ่าน นี้ และฉันกำลังพยายามใช้คีย์ deriver เพื่อชี้ไปที่คลาส Deriver ในการย้ายข้อมูลของฉัน อย่างไรก็ตามดูเหมือนว่าคีย์ deriver จะถูกละเว้น

มีอะไรอีกไหมที่ฉันต้องทำนอกเหนือจากการใช้คีย์ deriver และสร้างคลาส deriver ที่สืบทอดมาจาก Drupal\Component\Plugin\Derivative\DeriverBase

นี่คือการย้ายข้อมูล yml:

id:person_roles
ป้ายกำกับ: นำเข้า 
ที่มา: Drupal\my_module\PersonRoleImportDeriver
การโยกย้ายกลุ่ม: my_group
แหล่งที่มา:
  ปลั๊กอิน: url
  data_fetcher_plugin: http
  data_parser_plugin: xml
  url: สาธารณะ://this.xml
  เขตข้อมูล:
    -
      ชื่อ: position_name
      ป้ายกำกับ: ชื่อบทบาทบุคคล
      ตัวเลือก: ฟังก์ชั่น
  รหัส:
    ตำแหน่ง_ชื่อ:
      ประเภท: สตริง
ปลายทาง:
  ปลั๊กอิน: 'เอนทิตี: my_entity'
กระบวนการ:
  ชื่อ:
    -
      ปลั๊กอิน:skip_on_empty
      วิธีการ: แถว
      ที่มา: Position_name
      ข้อความ: 'บทบาทบุคคลที่ว่างเปล่า'
    -
      ปลั๊กอิน: make_unique_entity_field
      ประเภทเอนทิตี: my_entity
      ย้าย: จริง
      ฟิลด์: ชื่อ
Score:1
ธง ph

มันเป็นปลั๊กอิน ดังนั้นคุณต้องเคารพโครงสร้างไดเร็กทอรีของปลั๊กอินและเนมสเปซ

ชั้นเรียนของคุณควรอยู่ใน my_module/src/Plugin/migrate และมีเนมสเปซ Drupal\my_module\Plugin\migrate.

Stefan Korn avatar
in flag
หืม ฉันคิดว่า Diver ไม่ใช่ปลั๊กอินใช่ไหม มันไม่มีคำอธิบายประกอบ อย่างไรก็ตาม ถ้าฉันใส่ Diver ไว้ในโฟลเดอร์ปลั๊กอิน ดูเหมือนว่าจะไม่ถูกเรียก
Lambic avatar
ph flag
ดังนั้นคลาส deriver ของคุณจึงใช้ getDerivativeDefinitions() และเมธอดนั้นไม่เคยถูกเรียก?
Stefan Korn avatar
in flag
ใช่ นั่นดูเหมือนจะเป็นปัญหา
Lambic avatar
ph flag
ไม่แน่ใจว่าทำไมเป็นเช่นนั้น ฉันใช้รูปแบบเดียวกัน ชั้นเรียนของคุณมี MigrationDeriverTrait หรือไม่
Stefan Korn avatar
in flag
ดูเหมือนว่าจะเกี่ยวกับตำแหน่งของ config yml สำหรับการย้ายข้อมูล หากอยู่ในโฟลเดอร์ config/install ไดร์ฟเวอร์จะไม่ถูกจับ แต่ถ้าอยู่ในโฟลเดอร์การย้ายข้อมูล ก็จะใช้งานได้ คลาส Deriver นั้นสามารถอยู่ได้ทุกที่ในเนมสเปซ ขณะนี้ฉันเพิ่งเข้าใจความแตกต่างระหว่างการกำหนดค่า/การติดตั้งและการย้ายข้อมูลในกรณีนั้น
Lambic avatar
ph flag
น่าสนใจ เราเปลี่ยนไปใช้ไดเร็กทอรีการย้ายข้อมูลตั้งแต่เนิ่นๆ

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา