Qua sáu bài lập trình (193→199), module quan_ca_phe của ta đã có đủ: model, view, menu, quyền, quan hệ, kế thừa. Bài cuối này trả lời câu hỏi thực tế: làm sao đưa nó lên hệ thống thật và bảo trì về sau? — đóng gói, cài, nâng cấp, gỡ.
Bốn thao tác vòng đời một module

Hình 1: Vòng đời một module. (1) Đóng gói — zip -r cả thư mục để chuyển máy. (2) Đặt vào addons_path — copy thư mục vào nơi Odoo quét module. (3a) Cài lần đầu — odoo -d <csdl> -i quan_ca_phe (-i = install). (3b) Nâng cấp sau khi sửa — odoo -d <csdl> -u quan_ca_phe (-u = update). Hoặc làm hết trong giao diện Apps bằng nút bấm.
Điểm dễ nhầm nhất là -i vs -u:
-i(install): chỉ dùng lần đầu cài module vào một CSDL. Chạy lại-itrên module đã cài thì không làm gì thêm.-u(update): dùng mỗi khi sửa code (thêm trường, đổi view) để Odoo cập nhật bảng và nạp lại XML. Đây là lệnh bạn gõ nhiều nhất khi phát triển.
Cài/gỡ ngay trong giao diện
Không phải lúc nào cũng cần dòng lệnh. Vào Ứng dụng, module của bạn hiện như một app bình thường:

Hình 2: App "Quản lý quán cà phê" — module ta tự viết — nằm trong danh sách Ứng dụng của Odoo, ngang hàng các app gốc, thuộc danh mục Bán hàng. Từ đây bấm Kích hoạt để cài, Nâng cấp khi có bản mới, hoặc Gỡ cài đặt để xoá. (Cần bật hiển thị app tự viết: bỏ bộ lọc mặc định hoặc cập nhật danh sách phân hệ.)
Vài lưu ý khi vận hành thật:
- Tăng
versiontrong__manifest__.pymỗi lần phát hành (vd19.0.1.0.0→19.0.1.0.1) để dễ theo dõi. - Luôn sao lưu CSDL trước khi nâng cấp — nâng cấp có thể đổi cấu trúc bảng, không lùi lại dễ dàng.
- Gỡ module xoá dữ liệu của nó — cân nhắc, và backup trước.
- Thử trên bản test trước khi lên production — nguyên tắc vàng cho mọi thay đổi.
Khép lại 200 bài Odoo 19
Đây là bài cuối cùng của loạt. Nhìn lại chặng đường:
- Bắt đầu từ số 0: cài Odoo, làm quen giao diện, khái niệm cơ bản.
- Đi qua nghiệp vụ: Liên hệ, Bán hàng, Mua hàng, Tồn kho, Kế toán, Dự án, Nhân sự, Website, eCommerce, Sản xuất (định mức, lệnh sản xuất, công đoạn, kế hoạch), Bảo trì, phân tích — dùng được ảnh chụp thật trên dữ liệu thật của "Cà Phê Việt".
- Trung thực về Community vs Enterprise: những app trả phí (Studio, Chất lượng, Approvals, Sign, Spreadsheet) được nói thẳng, kèm cách làm thay thế miễn phí.
- Kết bằng lập trình: cấu trúc module → model → view → menu → quyền → quan hệ → kế thừa → đóng gói. Toàn bộ minh hoạ bằng một module
quan_ca_phecài thật, chạy thật trong Odoo.
Từ một người chưa từng mở Odoo, nếu đi hết loạt này, bạn đã có thể: vận hành một doanh nghiệp nhỏ trên Odoo, hiểu ranh giới bản miễn phí, và tự viết thêm tính năng khi cần. Đó là trọn vẹn "zero to hero".
Cảm ơn bạn đã đi cùng suốt 200 phần. Muốn xem lại từ đầu, ghé mục lục sê-ri hoặc bắt đầu ở Phần 1. Chúc bạn dựng được hệ thống hợp với quán của mình — và biết đâu, viết được cả module đầu tiên của riêng bạn. ☕
Nhớ ba ý
- Vòng đời module: đóng gói (
zip) → đặt vào addons_path →-icài lần đầu →-unâng cấp mỗi lần sửa code; hoặc làm hết trong Ứng dụng bằng nút bấm. -ichỉ cho lần đầu;-ucho mọi cập nhật sau — nhầm hai cái là lỗi hay gặp nhất của người mới.- Tăng
version, sao lưu CSDL trước khi nâng cấp, thử trên bản test — kỷ luật vận hành giữ hệ thống thật an toàn.