Với Drupal 7, chúng tôi đã có mô-đun Đổi tên trường , nhưng điều này vẫn chưa được chuyển sang Drupal.
Vậy ma thuật SQL nào là cần thiết để đổi tên một trường trong Drupal 8?
Với Drupal 7, chúng tôi đã có mô-đun Đổi tên trường , nhưng điều này vẫn chưa được chuyển sang Drupal.
Vậy ma thuật SQL nào là cần thiết để đổi tên một trường trong Drupal 8?
Câu trả lời:
Tôi đã không may phải làm điều này trước đây: P, và lời khuyên của tôi sẽ như sau:
Hãy quên việc đổi tên trường hiện có; tên máy nằm rải rác ở một số địa điểm khó chỉnh sửa khác nhau và có thể bạn sẽ bỏ lỡ một số lỗi và gặp phải các lỗi lạ. Ví dụ: nếu bạn chỉ đổi tên các bảng và cấu hình, API trường sẽ phù hợp khi nó cố xóa các bảng cũ và thấy chúng đã biến mất. Thông tin lược đồ được lưu trong kho lưu trữ khóa và không thể được xây dựng lại từ đầu, vì vậy nếu bạn thực hiện thay đổi thủ công, rất dễ bị rơi vào trạng thái bị hỏng.
Thay vào đó, hãy tạo lại trường với tên máy chính xác, sau đó sao chép dữ liệu bằng SQL và cuối cùng xóa trường cũ.
INSERT INTO node__field_new SELECT * FROM node__field_old;
INSERT INTO node_revision__field_new SELECT * FROM node_revision__field_old;
Về nhận xét mới nhất từ StevanRS, nó không chỉ đơn giản hơn thế, bởi vì nếu bạn chỉ nhập sau khi đổi tên, nó sẽ thất bại vì trường ban đầu sẽ không tồn tại nữa. Vì vậy, đây là đề xuất của tôi:
Các tập tin mẹo bạn cần lưu: