Score:0

ฉันจะอัปเดตย่อหน้าที่มีอยู่ได้อย่างไร

ธง vn

ฉันกำลังเขียนการโยกย้ายเพื่อนำเข้าข้อมูลต้นฉบับเป็นย่อหน้า

นี่คือการย้ายข้อมูลหลัก (ซึ่งกำลังทำงานอยู่)

รหัส: resource_chapter_section_text
ป้ายกำกับ: นำเข้าเนื้อหาจากคอลัมน์ resource.body ในฐานข้อมูลต้นทางเป็นย่อหน้า chapter_section_text
การโยกย้ายกลุ่ม: redacted_web
แหล่งที่มา:
  ปลั๊กอิน: resource_chapter_section_text
  คีย์: migrate_web
กระบวนการ:
  # ค่าจริงจะถูกวางไว้ที่นี่โดยการย้ายข้อมูล resource_chapter_section_text_content
  # เราต้องทำในรอบที่สองเพื่อหลีกเลี่ยงการสร้างการพึ่งพาแบบวงกลม
  field_text/ค่า:
    ปลั๊กอิน: default_value
    default_value: 'ตัวยึดตำแหน่ง'
  field_text/รูปแบบ:
    ปลั๊กอิน: default_value
    default_value: 'ข้อความธรรมดา'
ปลายทาง:
  ปลั๊กอิน: entity_reference_revisions:ย่อหน้า
  default_bundle: chapter_section_text
การพึ่งพา:
  บังคับใช้:
    โมดูล:
      - redacted_migration

โปรดทราบว่า field_text กำลังเติมด้วยค่าตัวยึดตำแหน่ง นั่นเป็นเพราะข้อมูลต้นทางสำหรับฟิลด์นั้นจำเป็นต้องแปลงด้วยวิธีบางอย่างก่อนที่ฉันจะสามารถนำเข้าได้ เพื่อหลีกเลี่ยงการพึ่งพาแบบวงกลม การเปลี่ยนแปลงนี้ต้องทำหลังจากทั้งหมด chapter_section_text นำเข้าย่อหน้าแล้ว

ดังนั้น ฉันจึงพยายามเขียนการย้ายข้อมูลครั้งที่สอง ซึ่งจะดำเนินการผ่านตารางต้นฉบับเดียวกันเป็นครั้งที่สอง และจะอัปเดตย่อหน้าที่สร้างขึ้นโดยการย้ายข้อมูลครั้งแรก นี่คือการย้ายถิ่นฐาน

รหัส: resource_chapter_section_text_content
ป้ายกำกับ: แปลงเนื้อหาของย่อหน้า resource_chapter_section_text จาก pseudo-Markdown เป็น HTML และอัปเดต URL ของลิงก์
การโยกย้ายกลุ่ม: redacted_web
แหล่งที่มา:
  ปลั๊กอิน: resource_chapter_section_text_content
  คีย์: migrate_web
กระบวนการ:
  รหัส:
    ปลั๊กอิน: การโยกย้าย_lookup
    การโยกย้าย: resource_chapter_section_text
    ที่มา: section_id
  field_text/value: content_converted
  field_text/รูปแบบ:
    ปลั๊กอิน: default_value
    default_value: 'full_html'
ปลายทาง:
  ปลั๊กอิน: entity_reference_revisions:ย่อหน้า
  default_bundle: chapter_section_text
  overwrite_properties:
    - field_text/ค่า
    - field_text/รูปแบบ
การโยกย้าย_การพึ่งพา:
  ที่จำเป็น:
    - resource_chapter_section_text
    - collection_term
    - document_node
    - ธีม
    - ทรัพยากร
การพึ่งพา:
  บังคับใช้:
    โมดูล:
      - redacted_migration

อย่างที่คุณเห็น ฉันกำลังระบุรหัสย่อหน้าที่มีอยู่และใช้ ปลายทาง overwrite_properties เพื่อระบุฟิลด์ที่จะปรับปรุง

ฉันใช้เทคนิคเดียวกันนี้สำเร็จแล้วในการย้ายข้อมูลครั้งอื่นเพื่ออัปเดตโหนดที่มีอยู่ อย่างไรก็ตาม มันใช้งานไม่ได้ที่นี่ การย้ายข้อมูลดูเหมือนจะพยายามสร้างย่อหน้าใหม่แทน ฉันได้รับข้อผิดพลาดนี้:

[ข้อผิดพลาด] Drupal\Core\Database\IntegrityConstraintViolationException: SQLSTATE[23000]: การละเมิดข้อจำกัดด้านความสมบูรณ์: 1062
รายการซ้ำ '3829' สำหรับคีย์ 'PRIMARY': INSERT INTO "paragraphs_item" ("id", "revision_id", "type", "uuid", "langcode") VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3 , :db_insert_placeholder_4);

เป็นไปได้ไหมที่จะทำเช่นนี้กับเอนทิตีย่อหน้า

โพสต์คำตอบ

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