Điểm:0

"Định nghĩa trường và/hoặc thực thể không khớp" sau khi bật mô-đun đã đóng góp

lá cờ in

Tôi đã cài đặt mô-đun Rabbit Hole trong Drupal 9. Tôi ngay lập tức nhận được thông báo này trên trang trạng thái:

Định nghĩa thực thể và/hoặc trường không khớp

Những thay đổi sau đây đã được phát hiện trong loại thực thể và định nghĩa trường.
Người dùng
Trường hành động Rabbit Hole cần được cài đặt.
Đường dẫn chuyển hướng Rabbit Hole. trường cần được cài đặt.
Trường mã phản hồi chuyển hướng Rabbit Hole cần được cài đặt.
Trường hành động dự phòng chuyển hướng Rabbit Hole cần được cài đặt.

Mọi người dường như nói chạy cập nhật thực thể phát triển, nhưng chính trang mô-đun đó lại nói:

Mục tiêu của mô-đun này là có một cách nhanh chóng để áp dụng các bản cập nhật lược đồ trong khi phát triển các loại thực thể mới và kết thúc dần dần thêm/xóa/thay đổi định nghĩa loại thực thể/trường.

Khi những thay đổi này là một phần của bản phát hành chính thức (và không có trong phạm vi của một phiên phát triển mã), họ hoàn toàn nên dựa vào Các chức năng cập nhật cơ sở dữ liệu, như đã giải thích trong CR ở trên, bởi vì đó là cách duy nhất mà quá trình cập nhật lược đồ thực thể có thể dự đoán được và đáng tin cậy.

Vì lý do này, mô-đun này phụ thuộc vào Devel và không có nghĩa là được kích hoạt trong môi trường sản xuất hoặc dựa vào triển khai luồng công việc, hãy xem #3082442: Tại sao không có nghĩa là được bật trong sản xuất môi trường? để biết thêm chi tiết.

Vì vậy, nó không nên được sử dụng hoặc chạy trong sản xuất? Chạy nó cục bộ sẽ không tạo ra thay đổi rõ ràng nào đối với xuất cấu hình. Vậy làm cách nào để bạn hoàn thành việc này trên cơ sở dữ liệu sản xuất?

Thay vào đó, mọi người nói rằng những cập nhật này sẽ xảy ra trong một hook cập nhật. Điều đó nghĩa là gì? Đây có phải là gánh nặng cho nhà phát triển hoặc người dùng phải làm không? Thỉnh thoảng tôi đã thấy điều này với các mô-đun được đóng góp và không hiểu liệu các bản cập nhật thực thể phát triển có "sửa chữa" (chính xác khắc phục) sự cố này hoặc nếu có cách cụ thể để thực hiện thay đổi này.

4uk4 avatar
lá cờ cn
Bạn không cần móc cập nhật để cài đặt hoặc gỡ cài đặt mô-đun chứa định nghĩa trường. Vấn đề cuối cùng liên quan đến điều này đã được giải quyết trong Drupal 8.5. Xem https://www.drupal.org/project/drupal/issues/2282119. Móc cập nhật dành cho những thay đổi trong các mô-đun đã được cài đặt.
sonfd avatar
lá cờ in
Việc chạy lệnh cập nhật thực thể có xóa cục bộ thông báo khỏi trang trạng thái của bạn không?
Điểm:1
lá cờ cn

Bạn không nhận được "Định nghĩa trường và/hoặc thực thể không khớp" sau khi cài đặt/gỡ cài đặt mô-đun đóng góp thêm các trường cơ sở vào các thực thể hiện có.

Các bước tái sản xuất:

  • nhà soạn nhạc yêu cầu 'drupal/rabbit_hole:^1.0@beta'
  • bật mô-đun chính Rabbit Hole và mô-đun con người dùng Rabbit Hole
  • bảng users_field_data chứa 4 trường mới
  • Trang trạng thái rõ ràng
  • chỉnh sửa người dùng với các cài đặt lỗ thỏ riêng lẻ để điền dữ liệu vào các trường
  • kiểm tra cơ sở dữ liệu, dữ liệu được lưu trữ
  • gỡ cài đặt mô-đun
  • các trường được chuyển từ user_field_data sang các bảng field_deleted_data_* riêng biệt
  • chạy cron
  • field_deleted_data_* bị xóa khỏi cơ sở dữ liệu

Nếu mô-đun không cài đặt/gỡ cài đặt chính xác như thế này, hãy quay lại và kiểm tra mô-đun đó trước trên một bản sao cục bộ của trang web cho đến khi mô-đun hoạt động. Không sử dụng công cụ dành cho nhà phát triển như cập nhật đối tượng phát triển trên dữ liệu sản xuất. Thậm chí còn nhiều hơn thế đối với một mô-đun vẫn đang trong giai đoạn thử nghiệm thay đổi các bảng thực thể cốt lõi.

Kevin avatar
lá cờ in
Điều đó có bình thường không? Hay điều này là cụ thể cho mô-đun đó?
4uk4 avatar
lá cờ cn
Hành vi chính xác này là bình thường đối với tất cả các mô-đun thêm trường cơ sở vào các thực thể hiện có.
Kevin avatar
lá cờ in
Kỳ lạ... Tôi tự hỏi điều gì đã kích hoạt tin nhắn này cho tôi. Tôi chỉ nhớ kích hoạt 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.