Điểm:0

Thay đổi loại/gói của nút, giữ loại/gói cũ trong bảng trường

lá cờ cn

Tôi cần thay đổi gói/loại của một số nút. tôi đã thử https://www.drupal.org/project/convert_bundles nhưng không có cách nào để chỉ chọn một vài nút và thay đổi gói/loại nên tôi đã thử một cách rất đơn giản:

  nút $ = Nút :: tải (123);
  $node->set('type', 'new_type_name');
  $node->save();

Điều này có vẻ hiệu quả: loại nội dung của nút đã thay đổi. Nhưng khi tôi nhìn vào các bảng cơ sở dữ liệu của trường, vẫn có tên loại/gói cũ trong cột "gói" cho từng trường của nút này. Điều này chỉ thay đổi khi tôi thực sự thay đổi trường trong biểu mẫu chỉnh sửa nút và lưu nó.

Câu hỏi của tôi: có ai biết liệu có bất kỳ tác dụng phụ nào khi có các trường được kết nối với một nút trong đó tên gói bị lưu trữ sai trong bảng của trường không?

john Smith avatar
lá cờ gr
tôi đoán bạn cần chạy cron và field_cron() sẽ xóa các mục db mồ côi? https://drupal.stackexchange.com/questions/38328/clean-deleted-field-from-database
Tobias Krause avatar
lá cờ cn
Tôi nghĩ rằng có một sự hiểu lầm: không có mục nhập db mồ côi nào. Các mục trong bảng trường được kết nối chính xác với một thực thể hiện có. Chỉ trong mục nhập db của trường, gói cũ của thực thể này vẫn được đặt. Và tôi tự hỏi liệu sự khác biệt này (gói trong bảng cơ sở thực thể và gói trong bảng trường) có thể gây ra bất kỳ vấn đề nào không.
Tobias Krause avatar
lá cờ cn
Tôi biết đã làm theo cách được mô tả ở đây http://www.noreiko.com/blog/changeing-type-node với một số điều chỉnh. Theo cách này, giá trị gói được cập nhật trong mọi bảng trường nhưng tôi để ngỏ câu hỏi vì tôi quan tâm đến câu trả lời.
Điểm:0
lá cờ cn

As commented by @johnSmith, purging is the problem here, but there are two different purging processes. The first one is triggered when the field storage is removed and the entire table is marked as deleted and purged in cron runs, this should still work. The second one is triggered when a field is removed only from a bundle. Then the affected field items are marked as deleted and purged. This doesn't work any longer. But even if this doesn't bother you and you don't notice other side effects, I still would recommend to update every field table and leave the entity tables in a consistent state as described in the latest comment.

Tobias Krause avatar
lá cờ cn
Đây không phải là vấn đề: không có trường nào bị xóa/xóa theo bất kỳ cách nào. Các trường của loại thực thể nguồn và loại thực thể mới giống nhau tại thời điểm này.
4uk4 avatar
lá cờ cn
Tôi đã mô tả hai hoạt động tại hiện trường, một vẫn hoạt động và một thì không. Tôi sẽ khôi phục lại hoạt động đầy đủ, trong tương lai, không phải bây giờ.

Đă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.