Uninstall Module trong Odoo: Đừng Để Mất Dữ Liệu Quan Trọng
Những điều cần lưu ý trước khi uninstall module trong Odoo để tránh mất dữ liệu không thể phục hồi.

Một thao tác tưởng chừng đơn giản như Uninstall module trong Odoo có thể dẫn đến những hậu quả nghiêm trọng, ví dụ như mất dữ liệu tích lũy hàng tháng, hàng năm. Điều này xảy ra mà không có nút Undo để khôi phục lại.
Chuyện gì thực sự xảy ra khi Uninstall?
Khi bạn Uninstall một module trong Odoo, không chỉ là việc gỡ bỏ code. Odoo sẽ DROP toàn bộ các cột dữ liệu mà module đó đã thêm vào database, không thể phục hồi.
Một module có thể thêm các field vào các bảng như sale.order, account.move, pos.order,... — những bảng này có thể chứa hàng chục nghìn bản ghi. Sau khi uninstall, các field và dữ liệu liên quan sẽ biến mất. Bạn có thể cài lại module, nhưng dữ liệu cũ thì không bao giờ quay lại.
Vấn đề không nằm ở hệ thống — mà ở tư duy
Thực tế, Odoo hoạt động đúng như thiết kế. Vấn đề chủ yếu đến từ cách chúng ta — những người vận hành và phát triển — đôi khi thực hiện thao tác mà không hiểu hết tác động của nó.
- Thấy module không dùng → Uninstall cho gọn
- Gặp lỗi → gỡ ra cài lại cho nhanh
- Test xong không ưng → Uninstall ngay trên production
Mỗi thao tác trên có vẻ hợp lý ở bề mặt, nhưng ẩn sau đó là rủi ro mất dữ liệu. Đến khi phát hiện, có thể đã quá muộn.
Phòng Hơn Chữa — Tư duy của một DEV chuyên nghiệp
Sự khác biệt giữa một DEV giỏi và một DEV xuất sắc không phải ở việc viết code nhanh hay biết nhiều trick. Mà chính là sự cẩn thận trong từng thao tác và thói quen hiểu rõ trước khi hành động.
Trước khi Uninstall, hãy tự hỏi:
- Module này thêm field gì, vào bảng nào?
- Dữ liệu liên quan có đang được sử dụng không?
- Có module nào khác phụ thuộc vào nó không?
- Mình thực sự cần uninstall hay chỉ cần tắt tính năng?
Trước khi thao tác trên Production, hãy luôn:
- Backup database — không có ngoại lệ
- Test trên staging trước — clone ra, thử, kiểm tra, rồi mới làm thật
- Nếu không chắc chắn — dừng lại và hỏi
Tại sao cần cẩn thận?
Một dòng lệnh có thể phá hủy dữ liệu tích luỹ hàng năm. Không ai bị đánh giá thấp vì cẩn thận, nhưng một sai lầm trên production có thể ảnh hưởng đến cả hệ thống, cả team, và cả khách hàng.
Cẩn thận không phải là chậm. Cẩn thận là chuyên nghiệp.
Code có thể viết lại. Nhưng dữ liệu thì không.