Tôi đã khôi phục bản sao lưu từ sản xuất cục bộ và cố gắng chỉ di chuyển mọi thứ và nhấn admin / mô-đun hoặc chạy registry_Vbuild () nhưng nó không ngăn được các lỗi nghiêm trọng bị ném. Điều này có ý nghĩa với tôi vì một số mô-đun có thể sử dụng bao gồm hoặc bất cứ điều gì trong hook_init () của chúng hoặc bạn có thể có một đường dẫn bộ định tuyến trình đơn phụ thuộc vào mô-đun hoặc bao gồm Drupal không thể tìm thấy trên bootstrap. Cuối cùng, đây là những gì tôi đã làm (đường dẫn của bạn có thể khác):
Bước 1: Thay thế trang web / tất cả / mô-đun bằng trang web / tất cả / mô-đun / đóng góp
UPDATE system SET filename = REPLACE(filename, 'sites/all/modules', 'sites/all/modules/contrib');
UPDATE registry SET filename = REPLACE(filename, 'sites/all/modules', 'sites/all/modules/contrib');
UPDATE registry_file SET filename = REPLACE(filename, 'sites/all/modules', 'sites/all/modules/contrib');
Bước 2: Thay thế trang web / tất cả / mô-đun / đóng góp bằng trang web / tất cả / mô-đun / tùy chỉnh cho các mô-đun được đặt tên tùy chỉnh
UPDATE system SET filename = REPLACE(filename, 'sites/all/modules/contrib', 'sites/all/modules/custom') WHERE name LIKE 'my_custom_namespace_%';
UPDATE registry SET filename = REPLACE(filename, 'sites/all/modules/contrib', 'sites/all/modules/custom') WHERE name LIKE 'my_custom_namespace_%';
UPDATE registry_file SET filename = REPLACE(filename, 'sites/all/modules/contrib', 'sites/all/modules/custom') WHERE filename LIKE '%my_custom_namespace_%';
Bước 3: Di chuyển các mô-đun dev vào các trang web / tất cả / mô-đun / dev
UPDATE system SET filename = REPLACE(filename, 'sites/all/modules/contrib', 'sites/all/modules/dev') WHERE name LIKE 'devel%';
UPDATE registry SET filename = REPLACE(filename, 'sites/all/modules/contrib', 'sites/all/modules/dev') WHERE name LIKE 'devel%';
UPDATE registry_file SET filename = REPLACE(filename, 'sites/all/modules/contrib', 'sites/all/modules/dev') WHERE filename LIKE '%devel%';
Bước 4: Xóa bộ nhớ cache để mọi thứ sẽ khởi động đúng cách
TRUNCATE TABLE cache
TRUNCATE TABLE cache_bootstrap
TRUNCATE TABLE cache_menu
TRUNCATE TABLE cache_page
TRUNCATE TABLE cache_path
Lưu ý: Nếu bạn sử dụng mô-đun tùy chỉnh hoặc đóng góp như LoginToboggan để xử lý 403 (truy cập bị từ chối) và bạn đã đăng xuất trong quá trình này, bạn có thể cần cập nhật include_file
cột trong menu_roter
bảng để sử dụng đường dẫn mới cho tệp đính kèm . Đây có lẽ là một trường hợp hiếm gặp.
UPDATE menu_router SET include_file = 'sites/all/modules/custom/my_custom_namespace/includes/foo.inc' WHERE path = 'access-denied'
Khi các truy vấn này đã chạy - sẽ chỉ mất một phần giây - nhấn admin / config / Development / Performance và xóa bộ đệm để đường dẫn menu được xây dựng lại.
registry_file
bảng của mình , sẽ buộc drupal quét lại tất cả các tệp và xây dựng lại bảng.