Score:0

Migrate accessing source fields by name instead of by selector?

ธง in

I'm working on the MongoDB source plugin and I'm able to do the migration, but I have to make strange compromises. When defining the source fields, I have to set name the same as selector, like this.

fields:
  -
    name: _id
    label: 'Unique ID'
    selector: _id

That works, but if I decide to change field name and keep selector, the migration fails.

fields:
  -
    name: node_id
    label: 'Unique ID'
    selector: _id

I get this error.

'node_id' is defined as a source ID but has no value.

Why is that? Why is the source array accessed by name instead of by selector?

in flag
สิ่งนี้ขึ้นอยู่กับการใช้งานปลั๊กอินต้นทางเป็นอย่างมาก ตัวอย่างเช่น ในซอร์ส JSON ของ `migrate_plus` `ตัวเลือก' คือ xpath ไปยังข้อมูล และ `name` เป็นตัวชวเลข อย่างไรก็ตาม สำหรับ `migage_source_csv` นั้น `name` จะต้องเป็นค่าของส่วนหัว นอกจากนี้ยังมี 'ป้ายกำกับ' แต่ไม่มี 'ตัวเลือก' ดังนั้นคุณจะต้องเจาะลึกการใช้งานแหล่งที่มาเพื่อดูว่าต้องการคุณสมบัติใดและทำหน้าที่อะไร
Score:1
ธง ru

คุณสามารถเปลี่ยนชื่อฟิลด์ต้นทางได้ แต่คุณต้องไม่เปลี่ยนชื่อฟิลด์ต้นทางที่ใช้เป็นรหัสต้นทาง

แหล่งที่มา:
  เขตข้อมูล:
    -
      ชื่อ: _id
      ป้ายกำกับ: 'รหัสเฉพาะ'
      ตัวเลือก: _id
  รหัส:
    _id: <-- นี่คือปัญหา คุณไม่สามารถเปลี่ยนชื่อฟิลด์ต้นทางที่ใช้ที่นี่
      ประเภท: จำนวนเต็ม

ในการโยกย้ายครั้งแรก โมดูลจะสร้างตารางการแมป การโยกย้าย_map_MIGRATION_ID สำหรับแต่ละแถวต้นทางระยะไกล <=> เอนทิตีโลคัล หลังจากนั้น คุณจะไม่สามารถเปลี่ยนชื่อฟิลด์แหล่งที่มาที่ใช้เป็นรหัสแหล่งที่มาได้อีกต่อไป

วิธีเดียวที่จะแก้ไขปัญหานี้คือการย้อนกลับทั้งหมด จากนั้นจึงลบตารางการย้ายข้อมูลเหล่านั้นด้วยตนเอง (รวมถึงตาราง การโยกย้าย_ข้อความ_MIGRATION_ID ) จากนั้นคุณสามารถเริ่มต้นใหม่ได้

in flag
@hundri ขอบคุณที่อธิบายสิ่งนี้ อย่างไรก็ตาม พารามิเตอร์ต้นทางไม่ทำงานเลย ไม่แม้แต่กับฟิลด์อื่น จากสิ่งที่โจเซฟพูดและจากแหล่งอื่น ฉันคิดว่าซอร์สปลั๊กอินนั้นต้องใช้ฟังก์ชันนั้น แต่ปัญหาคือฉันสามารถค้นหาและคำแนะนำ / บทช่วยสอนเกี่ยวกับวิธีการทำเช่นนั้น
Score:0
ธง in

ตัวเลือกถูกจัดการโดยปลั๊กอินตัวประมวลผลข้อมูล ตอนแรกฉันพยายามใช้ iterator object ที่จัดเตรียมโดย MongoDB collection object ใช้งานได้ แต่ไม่รองรับตัวเลือก จากนั้นฉันเห็นว่าตัวประมวลผลข้อมูลแบบกำหนดเองถูกสร้างขึ้นในโมดูล Migrate plus อย่างไร สำหรับการแยกวิเคราะห์ json และสร้างขึ้นจากสิ่งนั้น โดยทั่วไปฉันใช้ตัววนซ้ำการรวบรวมเพื่อรับ json แบบเต็ม จากนั้นตัวประมวลผลข้อมูลที่กำหนดเองของฉันก็ทำงานกับ json นั้นในลักษณะเดียวกับที่ตัวประมวลผลข้อมูล Migrate Plus json ทำ

โพสต์คำตอบ

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