Bộ công cụ này cho phép nâng cấp module, chuyển đổi CSDL của các module hệ thống từ phiên bản NukeViet 3.4 lên NukeViet 4.0.
- Link download file Zip: https://github.com/nukeviet/module_c34to40/archive/master.zip
- Khi tải code từ github, cấu trúc thư mục không giống với các gói module của NukeViet, nên bạn cầu giải nén và cài đặt bằng tay.
- Bạn cần cài module này lên site sử dụng NukeViet 4 (Nên dùng trên localhost), sau đó truy cập module (bên ngoài site) để sử dụng.
Bạn cần hiểu rõ, bản chất của công cụ này không hỗ trợ nâng cấp tự động 100%, mà bạn cần phải can thiệp bằng kiến thức của mình, ở những nơi mà công cụ không thể xử lý tự động theo các gợi ý sau khi hoàn tất việc nâng cấp.
1. Cần kiểm tra lại tất cả các chỗ dùng SQL có câu lệnh: INSERT, UPDATE, DELETE: nếu câu lệnh nào cần xác định số kết quả trả về thì nên thay bằng thương thức PDO::exec
2. Kiểm tra lại tất cả các chỗ có //$xxx->closeCursor(); và thay thế đúng bằng $result->closeCursor(); tùy theo các đoạn code viết bên trên.
3. Kiểm tra lại tất cả các chỗ có $db->sql_affectedrows(); Nếu trên đó có câu lệnh $db->query( $sql ); thì hãy xóa dòng $db->query( $sql ); và sửa $db->sql_affectedrows() thành $db->exec( $sql );
4. Không sử dụng SQL REPLACE, bởi Oracle không hỗ trợ REPLACE
5. Sử dụng PDOStatement::rowCount để đếm số kết quả trả về.
6. Nên thay thế UNIX_TIMESTAMP() bằng biến NV_CURRENTTIME trong PHP.
7. Để module chạy được trên các loại CSDL khác cần bỏ dầu nháy ` trong các đoạn truy vấn CSDL.
8. Chức năng phân quyền đã thay đổi, cụ thể không còn hàm nv_set_allow mà thay vào đó là hàm nv_user_in_groups, cần xóa các trường who_view nếu có.
9. Chú ý đường dẫn trong admin. Ở phiên bản mới đã được thêm vào biến lang.
10. Tìm và thay thế các đoạn javascript sử dụng nv_ajax thay bằng ajax của jquery.
Sau khi cài đặt module:
- Copy module nukeviet 3.4 đã giải nén vào thư mục tmp/module-convert (Cần tạo thư mục nếu chưa tồn tại). Nếu trên linux, bạn cần phân quyền ghi cho tất cả các tập tin trong thư mục này, bởi quá trình xử lý sẽ can thiệp đến nội dung tập tin.
Ví dụ: Tôi nâng cấp module music, thì khi đó phải tồn tại file: tmp/module-convert/modules/music/version.php
- Truy cập vào địa chỉ http:/domain/c34to40/. Hệ thống sẽ tiếp tục quá trình tự động nâng cấp trong một khoảng thời gian ngắn, sau khi hoàn thành, màn hình sẽ hiển thị kết quả thay đổi.
Các công việc sau khi nâng cấp:
- Cài mới module, kiểm tra lại toàn bộ chức năng.
- Nếu phát hiện lỗi, xem lại 10 ghi chú bên trên và tiến hành kiểm tra, sửa đổi thủ công.
- Kiểm tra cho đến khi không còn lỗi.
- Truy cập đường dẫn http:/domain/c34to40/other_db/- Chuyển dữ liệu bảng counter (lượt truy cập)
- Chuyển dữ liệu bảng searchkeys (từ khóa tìm kiếm)
- Chuyển dữ liệu bảng referer_stats (số liệu thống kê)
Trung tâm ứng dụng NukeViet
Ghi rõ nguồn khi sao chép thông tin từ website này.
Sử dụng CMS NukeViet, thiết kế bởi TDFOSS.,LTD