Điểm:0

Làm cách nào để cập nhật các đoạn văn hiện có?

lá cờ vn

Tôi đang viết di chuyển để nhập dữ liệu nguồn dưới dạng đoạn văn.

Đây là quá trình di chuyển chính (đang hoạt động).

id: tài nguyên_chương_phần_văn bản
nhãn: Nhập nội dung từ cột resource.body trong cơ sở dữ liệu nguồn dưới dạng đoạn chapter_section_text.
nhóm_di chuyển: redacted_web
nguồn:
  plugin: resource_chapter_section_text
  khóa: di chuyển_web
tiến trình:
  # một giá trị thực sẽ được đặt ở đây bằng cách di chuyển tài nguyên_chương_phần_văn bản_nội dung
  # chúng ta phải thực hiện nó trong lần thứ hai để tránh tạo ra sự phụ thuộc vòng tròn
  trường_văn bản/giá trị:
    plugin: default_value
    default_value: 'giữ chỗ'
  trường_văn bản/định dạng:
    plugin: default_value
    default_value: 'plain_text'
điểm đến:
  plugin: entity_reference_revisions:đoạn văn
  default_bundle: chap_section_text
phụ thuộc:
  thi hành:
    mô-đun:
      - redacted_migration

Lưu ý rằng trường_văn bản đang được phổ biến với một giá trị giữ chỗ. Đó là vì dữ liệu nguồn cho trường đó cần được chuyển đổi theo một số cách nhất định trước khi tôi có thể nhập dữ liệu đó. Để tránh sự phụ thuộc vòng tròn, việc chuyển đổi này phải được thực hiện sau cùng chương_phần_văn bản đoạn văn đã được nhập khẩu.

Vì vậy, tôi đang cố gắng viết một lần di chuyển thứ hai, thao tác này sẽ thực hiện lần di chuyển thứ hai trên cùng một bảng nguồn và sẽ cập nhật các đoạn được tạo bởi lần di chuyển đầu tiên. Đây là cuộc di cư đó.

id: resource_chapter_section_text_content
nhãn: Chuyển đổi nội dung của các đoạn resource_chapter_section_text từ pseudo-Markdown sang HTML và cập nhật các URL liên kết.
nhóm_di chuyển: redacted_web
nguồn:
  plugin: resource_chapter_section_text_content
  khóa: di chuyển_web
tiến trình:
  Tôi:
    plugin: di chuyển_lookup
    di chuyển: resource_chapter_section_text
    nguồn: section_id
  trường_văn bản/giá trị: content_converted
  trường_văn bản/định dạng:
    plugin: default_value
    default_value: 'full_html'
điểm đến:
  plugin: entity_reference_revisions:đoạn văn
  default_bundle: chap_section_text
  ghi đè_properties:
    - trường_văn bản/giá trị
    - trường_văn bản/định dạng
di chuyển_phụ thuộc:
  cần thiết:
    - tài nguyên_chương_phần_văn bản
    - bộ sưu tập_thuật ngữ
    - tài liệu_node
    - chủ đề
    - nguồn
phụ thuộc:
  thi hành:
    mô-đun:
      - redacted_migration

Như bạn có thể thấy, tôi đang chỉ định ID đoạn văn hiện có và sử dụng đích.overwrite_properties để chỉ định các trường sẽ được cập nhật.

Tôi đã sử dụng thành công kỹ thuật tương tự trong một lần di chuyển khác để cập nhật các nút hiện có. Tuy nhiên, nó không hoạt động ở đây. Thay vào đó, Migrate dường như đang cố gắng tạo các đoạn văn mới. tôi nhận được lỗi này:

[lỗi] Drupal\Core\Database\IntegrityConstraintViolationException: SQLSTATE[23000]: Vi phạm ràng buộc toàn vẹn: 1062
Sao chép mục '3829' cho khóa 'PRIMARY': CHÈN VÀO "paragraphs_item" ("id", "revision_id", "type", "uuid", "langcode") GIÁ TRỊ (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3 , :db_insert_placeholder_4);

Có thể làm điều này với các thực thể đoạn văn?

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.