Cách Di chuyển từ Bản Cài đặt Cũ
Hướng dẫn này sẽ nhập dữ liệu hiện có của bạn từ một bản cài đặt HandyCafe V3 hoặc V4 cũ vào một máy chủ HandyCafe hiện đại. Quá trình di chuyển không phá hủy nguồn: các file gốc không bị sửa đổi hay xóa.
Di chuyển cơ sở dữ liệu chỉ chạy trên Windows. Hỗ trợ thời gian chạy để máy khách cũ kết nối qua giao thức gốc hoạt động trên mọi nền tảng (xem Cài đặt Máy khách Cũ).
Những gì bạn cần
- Một máy Windows có cả bản cài đặt cũ và máy chủ HandyCafe hiện đại trên cùng hệ thống, hoặc có quyền truy cập vào file cơ sở dữ liệu cũ.
- Quyền quản trị vào HandyCafe Server.
- Máy chủ cũ đã dừng. Cơ sở dữ liệu nguồn không nên bị ghi trong lúc di chuyển.
- Dung lượng đĩa trống ít nhất bằng kích thước cơ sở dữ liệu cũ (để chứa bản sao cơ sở dữ liệu HandyCafe mới).
- 10 đến 30 phút thời gian không bị gián đoạn. Các lần di chuyển với dữ liệu lớn có thể mất vài phút. Không đóng HandyCafe trong lúc chạy.
Bước 1: Dừng Máy chủ Cũ
Mở ứng dụng máy chủ HandyCafe cũ. Dừng mọi phiên và thoát ứng dụng. Nếu máy chủ cũ chạy như một dịch vụ Windows, hãy dừng dịch vụ từ services.msc.
Kết quả mong đợi: Tiến trình máy chủ cũ không còn chạy. File cơ sở dữ liệu không còn bị giữ mở.
Bước 2: Mở Trang Cài đặt Máy khách Cũ
- Khởi chạy HandyCafe.
- Mở Settings ở thanh bên.
- Nhấp Legacy Clients.
- Cuộn đến phần Database Migration.
Kết quả mong đợi: Nếu hệ thống phát hiện một bản cài đặt cũ, trang sẽ hiển thị install path, database path, server version và INI file count. Nếu không phát hiện gì, trang sẽ báo "No legacy installation detected." Trong trường hợp đó, hãy kiểm tra rằng các file legacy tồn tại ở một vị trí chuẩn như Program Files\HandyCafe hoặc C:\HandyCafe.
Bước 3: Rà soát Bản cài đặt được Phát hiện
Xác nhận các giá trị phát hiện khớp với bản cài đặt cũ bạn biết:
| Trường | Cần kiểm tra |
|---|---|
| Install Path | Trỏ tới đúng thư mục HandyCafe. |
| Database Path | Trỏ tới file cơ sở dữ liệu cũ nằm trong thư mục cài đặt. |
| Server Version | Khớp với phiên bản máy chủ cũ của bạn, ví dụ 3.4.01 hoặc 4.0.10. |
| INI File Count | Khác 0. Một bản cài đặt khỏe mạnh có nhiều file INI cho các cấu hình khác nhau. |
Nếu trường nào sai, hãy đóng HandyCafe, sửa bản cài đặt và mở lại.
Bước 4: Kiểm tra trường Encoding
Trước khi chạy di chuyển, hãy xác nhận trường Encoding trong phần Runtime Protocol được đặt đúng cho dữ liệu nguồn. Mục này nằm trên cùng trang cài đặt, ở phía cao hơn.
| Locale nguồn | Encoding khuyến nghị |
|---|---|
| Thổ Nhĩ Kỳ | cp1254 |
| Tây Âu (Anh, Pháp, Đức, Tây Ban Nha, Ý, Bồ Đào Nha) | cp1252 |
| Khác | cp1254 (máy chủ chấp nhận đây là giá trị dự phòng mặc định) |
Nếu bạn đổi encoding, hãy nhấp Save trước khi tiếp tục.
Kết quả mong đợi: Các chuỗi nguồn sẽ giải mã sạch trong quá trình di chuyển, tránh kết quả completed_with_warnings.
Bước 5: Bắt đầu Di chuyển
- Nhấp Start Migration.
- Một hộp thoại tiến trình sẽ mở ra. Nó hiển thị giai đoạn hiện tại và số dòng đã xử lý cho tới thời điểm đó.
- Không đóng HandyCafe hoặc cho máy tính ngủ.
- Chờ cho đến khi hoàn tất. Dữ liệu nhỏ có thể xong trong chưa tới một phút. Dữ liệu lớn có thể mất 5 đến 10 phút.
Kết quả mong đợi: Hộp thoại tiến trình đóng lại và trạng thái chuyển thành completed hoặc completed_with_warnings. Một thông báo sẽ xuất hiện xác nhận lần chạy.
Bước 6: Xem lại Số lượng đã Di chuyển
Sau khi hoàn tất, trang sẽ hiển thị số lượng bản ghi đã di chuyển:
| Số lượng | Ý nghĩa |
|---|---|
| Members | Hồ sơ khách hàng đã được nhập. |
| Pricing | Bảng giá và các mục lịch đã được nhập. |
| Products | Các mục trong danh mục sản phẩm đã được nhập. |
| Orders | Lịch sử đơn hàng đã được nhập. |
| Transactions | Các mục sổ cái đã được nhập. |
| Logs | Nhật ký kiểm toán và cảnh báo đã được nhập. |
| Warnings | Các bản ghi bị bỏ qua trong quá trình nhập. Chỉ xuất hiện khi trạng thái là completed_with_warnings. |
Nhấp expander Details để xem toàn bộ phân rã. Hãy xác nhận các con số trông hợp lý so với kỳ vọng của bạn.
Kết quả mong đợi: Tất cả bốn nhóm chính (hội viên, sản phẩm, đơn hàng, giao dịch) sẽ có số lượng khác 0 nếu nguồn của bạn có dữ liệu trong các bảng đó.
Bước 7: Xử lý cảnh báo (nếu có)
Nếu trạng thái là completed_with_warnings, hãy mở danh sách cảnh báo và xem các bản ghi bị bỏ qua.
Các cảnh báo thường gặp và cách sửa:
| Cảnh báo | Nguyên nhân | Cách sửa |
|---|---|---|
| Encoding decode error | Dữ liệu nguồn chứa byte không giải mã được trong encoding đã cấu hình. | Chạy Undo, đổi Encoding cho khớp locale nguồn và chạy lại di chuyển. |
| Malformed date | Một bản ghi legacy có dấu thời gian không hợp lệ, ví dụ 0000-00-00. |
Chúng được bỏ qua an toàn. Không cần hành động gì. |
| Duplicate key | Một bản ghi có cùng định danh đã tồn tại trong HandyCafe. | Nếu đây là lần di chuyển lặp ngoài ý muốn, hãy chạy Undo rồi Re-run. Nếu bạn đang gộp cơ sở dữ liệu, hãy chấp nhận việc bỏ qua. |
Kết quả mong đợi: Bạn либо chấp nhận cảnh báo như các mất mát chấp nhận được hoặc sửa vấn đề gốc rồi chạy lại.
Bước 8: Kiểm tra ngẫu nhiên dữ liệu đã nhập
Trước khi ngừng dùng máy chủ cũ, hãy tự kiểm tra một mẫu của từng loại bản ghi.
- Mở Members ở thanh bên. Tìm một hội viên bạn biết từ hệ thống cũ. Xác nhận tên, số dư và thông tin liên hệ.
- Mở Settings > Pricing. Xác nhận giá theo giờ khớp với lịch cũ.
- Mở Products. Xác nhận tên và giá sản phẩm.
- Mở Cash Report cho một ngày lịch sử gần đây. Xác nhận tổng số khớp với điều bạn mong đợi từ hệ thống cũ.
Kết quả mong đợi: Các mẫu ngẫu nhiên sẽ khớp với nguồn legacy. Nếu một bản ghi cụ thể sai, hãy ghi nhận vấn đề. Khác biệt định dạng nhỏ là bình thường. Sai lệch giá trị lớn cho thấy có thể có lỗi mã hóa hoặc toàn vẹn dữ liệu cần được xem xét trước khi đưa vào chạy thực tế.
Bước 9: Bật hỗ trợ Runtime cho máy khách cũ (Tùy chọn)
Nếu bạn muốn các máy V3 hoặc V4 hiện có tiếp tục kết nối trong lúc chuyển đổi, hãy bật giao thức thời gian chạy ngay bây giờ.
- Cuộn lên đầu trang cài đặt Legacy Clients.
- Bật Enable Legacy Client Support.
- Xác nhận các cổng lắng nghe (UDP 710, TCP 712, file transfer 717) không xung đột với thứ gì khác trên mạng của bạn.
- Nhấp Save.
Kết quả mong đợi: Các máy khách legacy trên LAN sẽ xuất hiện trong Bảng Quản trị trong vòng 5 đến 10 giây. Xem Máy khách Cũ để biết cách quản lý chúng từ bảng.
Cách Hoàn tác một lần Di chuyển
Nếu quá trình di chuyển cho kết quả ngoài mong đợi, bạn có thể quay lại hoàn toàn. Cơ sở dữ liệu legacy gốc không bị động tới.
- Mở Settings > Legacy Clients.
- Cuộn đến phần Database Migration.
- Nhấp Undo Migration.
- Xác nhận trong hộp thoại.
Mọi dòng đã di chuyển sẽ bị xóa khỏi HandyCafe. Trạng thái trở lại never. Sau đó bạn có thể sửa vấn đề gốc (encoding, làm sạch dữ liệu nguồn, v.v.) và chạy Start Migration lại.
Cách Chạy lại một lần Di chuyển
Chạy lại sẽ thay thế dữ liệu đã di chuyển bằng dữ liệu mới từ nguồn.
- Mở Settings > Legacy Clients.
- Nhấp Re-run Migration (nút sẽ đổi nhãn từ Start Migration sau lần chạy thành công đầu tiên).
- Luồng xử lý giống hệt lần chạy đầu tiên.
Re-run an toàn để dùng bao nhiêu lần tùy ý. Nó không tạo bản sao dữ liệu vì sẽ thay thế đầu ra di chuyển hiện có.
Những lỗi thường gặp cần tránh
- Chạy di chuyển khi máy chủ legacy vẫn đang hoạt động. Cơ sở dữ liệu nguồn có thể bị khóa hoặc có thể chứa các lần ghi dang dở. Luôn dừng máy chủ cũ trước.
- Bỏ qua trường Encoding. Chạy với encoding sai sẽ làm hỏng tên hội viên và thông báo log. Sửa sau này sẽ cần Undo và Re-run.
- Đóng HandyCafe trong khi di chuyển. Quá trình sẽ bị gián đoạn và dữ liệu dở dang sẽ được ghi. Việc khôi phục sẽ cần Undo. Luôn để hộp thoại tiến trình chạy xong.
- Bỏ qua bước kiểm tra ngẫu nhiên. Chỉ tin vào số lượng bản ghi mà không kiểm tra dữ liệu mẫu sẽ bỏ lỡ các vấn đề tinh vi như lệch locale hoặc lỗi làm tròn.
- Xóa bản cài legacy quá sớm. Hãy giữ file nguồn ít nhất một chu kỳ lương đầy đủ sau khi di chuyển. Nếu có sai lệch xuất hiện trên báo cáo tháng, bạn vẫn có thể đối chiếu với bản ghi gốc.
- Di chuyển mà không sao lưu. Sao chép thư mục cài legacy trước lần di chuyển đầu tiên. Dù nguồn không bị sửa đổi bởi di chuyển, sự cố ổ đĩa hoặc tai nạn vẫn có thể xảy ra. Một bản sao lưu là bảo hiểm rẻ.