Nâng cấp¶
An upgrade involves moving a database from an older version to a newer supported version (e.g., from Odoo 16.0 to Odoo 18.0). Regular upgrades are crucial as each version offers new features, bug fixes, and security patches. Using a supported version is strongly recommended. Each major version is supported for three years.
Tùy vào loại lưu trữ và phiên bản Odoo được sử dụng, việc nâng cấp cơ sở dữ liệu có thể là bắt buộc.
Nếu cơ sở dữ liệu đang sử dụng phiên bản chính (VD: 16.0, 17.0, 18.0), thì việc nâng cấp là bắt buộc sau mỗi hai năm.
Nếu cơ sở dữ liệu đang sử dụng phiên bản phụ (VD: 17.1, 17.2, 17.4), thì việc nâng cấp là bắt buộc sau vài tuần kể từ khi phiên bản tiếp theo được phát hành. Các phiên bản phụ thường được phát hành hai tháng một lần.
Sau ba năm hỗ trợ ban đầu, bạn sẽ có thêm hai năm để hoàn tất nâng cấp. Bạn sẽ được thông báo khi cần nâng cấp.

Bạn có thể sử dụng cùng một phiên bản vĩnh viễn, ngay cả khi phiên bản đó không được khuyên dùng. Lưu ý rằng khoảng cách giữa các phiên bản càng nhỏ thì việc nâng cấp càng dễ dàng.
Bạn sẽ nhận được thông báo trong cơ sở dữ liệu của mình vài tuần trước khi quá trình nâng cấp bắt buộc được tự động thực hiện. Bạn kiểm soát được quá trình này miễn là chưa hết hạn.

Cụ thể, Bộ phận Nâng cấp của Odoo âm thầm tiến hành nâng cấp thử nghiệm cho mọi cơ sở dữ liệu cần nâng cấp. Nếu thử nghiệm thành công và kéo dài dưới 20 phút, bạn có thể kích hoạt nâng cấp ngay từ cơ sở dữ liệu. Nếu thử nghiệm không thành công, bạn có thể thử nâng cấp bằng cách sử dụng trình quản lý cơ sở dữ liệu <https://www.odoo.com/my/databases>
_.
Khi bạn được mời nâng cấp, chúng tôi khuyên bạn nên :ref:yêu cầu nâng cấp cơ sở dữ liệu kiểm thử <upgrade-request-test>
trước và dành thời gian để :ref:kiểm thử<upgrade-testing>
cơ sở dữ liệu đó.
Việc nâng cấp lên phiên bản tiếp theo sẽ tự động được kích hoạt nếu không có hành động nào được thực hiện trước ngày đến hạn đã chỉ định.
Một bản nâng cấp không bao gồm:
Hạ cấp xuống phiên bản Odoo trước đó
Switching editions (e.g., from Community to Enterprise)
Changing hosting type (e.g., from on-premise to Odoo Online)
Di chuyển từ ERP khác sang Odoo
Cảnh báo
If your database contains custom modules, it cannot be upgraded until a version of your custom modules is available for the target version of Odoo. For customers maintaining their own custom modules, we recommend to parallelize the process by requesting an upgraded database while also upgrading the source code of your custom modules.
Tóm lược về nâng cấp¶
Request an upgraded test database (see obtaining an upgraded test database).
If applicable, upgrade the source code of your custom module to be compatible with the new version of Odoo (see Upgrade a customized database).
Thoroughly test the upgraded database (see testing the new version of the database).
Report any issue encountered during the testing to Odoo by going to the Support page and selecting “An issue related to my future upgrade (I am testing an upgrade)”.
Khi mọi vấn đề đã được xử lý và bạn tự tin rằng cơ sở dữ liệu đã nâng cấp có thể được sử dụng làm cơ sở dữ liệu chính mà không gặp sự cố nào, hãy lên kế hoạch nâng cấp cơ sở dữ liệu production.
Request the upgrade for the production database, rendering it unavailable for the time it takes to complete the process (see upgrading the production database).
Report any issue encountered during the upgrade to Odoo by going to the Support page and selecting “An issue related to my upgrade (production)”.
Nhận cơ sở dữ liệu kiểm thử đã nâng cấp¶
The Upgrade page is the main platform for requesting an upgraded database. However, depending on the hosting type, you can upgrade from the command line (on-premise), the Odoo Online database manager, or your Odoo.sh project.
Ghi chú
The Upgrade platform follows the same Privacy Policy as the other Odoo.com services. Visit the General Data Protection Regulation page to learn more about how Odoo handles your data and privacy.
Cơ sở dữ liệu Odoo Online có thể được nâng cấp thủ công thông qua trình quản lý cơ sở dữ liệu <https://www.odoo.com/my/databases>
_.
Trình quản lý cơ sở dữ liệu hiển thị tất cả các cơ sở dữ liệu được liên kết với tài khoản của người dùng. Các cơ sở dữ liệu không có trên phiên bản Odoo mới nhất sẽ hiển thị một mũi tên trong biểu tượng hình tròn bên cạnh tên của chúng, cho biết chúng có thể được nâng cấp.

Nhấp vào biểu tượng mũi tên trong vòng tròn để bắt đầu quá trình nâng cấp. Trong cửa sổ pop-up, hãy điền:
Phiên bản Odoo mà bạn muốn nâng cấp lên, thường là phiên bản mới nhất
Địa chỉ email sẽ nhận được liên kết đến cơ sở dữ liệu đã nâng cấp
The Purpose of the upgrade, which is automatically set to Test for your first upgrade request

Thẻ :guilabel:Đang nâng cấp
được hiển thị bên cạnh tên cơ sở dữ liệu cho đến khi nâng cấp hoàn tất. Khi quá trình này thành công, một email có chứa liên kết đến cơ sở dữ liệu kiểm thử đã nâng cấp sẽ được gửi đến địa chỉ mà bạn đã cung cấp. Bạn cũng có thể truy cập cơ sở dữ liệu này từ trình quản lý cơ sở dữ liệu bằng cách nhấp vào mũi tên thả xuống trước tên cơ sở dữ liệu.

Odoo.sh được tích hợp với nền tảng nâng cấp để đơn giản hóa quá trình nâng cấp.

Sau đó, bản sao lưu tự động hàng ngày mới nhất sẽ được gửi đến `nền tảng nâng cấp.
Sau khi nền tảng nâng cấp hoàn tất việc nâng cấp bản sao lưu và tải nó lên nhánh, nó sẽ được đưa vào chế độ đặc biệt: mỗi lần commit được đẩy lên nhánh, một hoạt động khôi phục của bản sao lưu đã nâng cấp và một bản cập nhật của tất cả phân hệ tùy chỉnh sẽ diễn ra. Điều này cho phép bạn kiểm thử các phân hệ tùy chỉnh của mình trên một bản sao nguyên sơ của cơ sở dữ liệu đã nâng cấp. Bạn có thể tìm thấy tệp nhật ký của quá trình nâng cấp trong bản dựng staging mới nâng cấp bằng cách truy cập :file:~/logs/upgrade.log
.
Quan trọng
Trong những cơ sở dữ liệu có cài đặt các phân hệ tùy chỉnh, mã nguồn của chúng phải được cập nhật tương ứng với phiên bản Odoo mục tiêu trước khi có thể tiến hành nâng cấp. Nếu không có, chế độ “cập nhật khi commit” sẽ bị bỏ qua, cơ sở dữ liệu đã nâng cấp sẽ được xây dựng ngay khi được chuyển từ nền tảng nâng cấp, và sẽ thoát chế độ nâng cấp.
Tham khảo trang :doc:/developer/howtos/upgrade_custom_db
để tìm hiểu thêm thông tin.
Quá trình nâng cấp tiêu chuẩn có thể được bắt đầu bằng cách nhập dòng lệnh sau vào máy lưu trữ cơ sở dữ liệu:
$ python <(curl -s https://upgrade.odoo.com/upgrade) test -d <your db name> -t <target version>
Ghi chú
Lệnh này có một số yêu cầu về môi trường mà nó chạy trong đó:
Một số lệnh bên ngoài phải được hệ điều hành cung cấp, thường có trong bất kỳ bản phân phối Linux nào (bao gồm WSL). Một lỗi sẽ được hiển thị nếu thiếu một hoặc nhiều lệnh trong số đó.
Người dùng hệ thống thực thi lệnh cần được cấu hình để có quyền truy cập vào cơ sở dữ liệu. Vui lòng tham khảo tài liệu PostgreSQL về
môi trường máy khách <https://www.postgresql.org/docs/current/libpq-envars.html>
_ hoặctệp mật khẩu máy khách <https://www.postgresql.org/docs/current/libpq-pgpass.html>
_ để tìm hiểu yêu cầu này.Tập lệnh cần có khả năng tiếp cận một hoặc nhiều máy chủ của nền tảng nâng cấp trên cả cổng TCP 443 và bất kỳ cổng TCP ngẫu nhiên nào trong phạm vi từ 32768 đến 60999. Điều này có thể xung đột với tường lửa hạn chế của bạn và có thể cần thêm ngoại lệ vào cấu hình tường lửa.
Có thể sử dụng lệnh sau để hiển thị trợ giúp chung và các lệnh chính:
$ python <(curl -s https://upgrade.odoo.com/upgrade) --help
Bạn cũng có thể yêu cầu cơ sở dữ liệu kiểm thử đã nâng cấp qua Trang nâng cấp <https://upgrade.odoo.com>
_.
Quan trọng
Trong những cơ sở dữ liệu có cài đặt các phân hệ tùy chỉnh, mã nguồn của chúng phải được cập nhật tương ứng với phiên bản Odoo mục tiêu trước khi có thể tiến hành nâng cấp. Tham khảo trang :doc:/developer/howtos/upgrade_custom_db
để tìm hiểu thêm thông tin.
Ghi chú
Vì lý do bảo mật, chỉ người gửi yêu cầu nâng cấp mới có thể tải xuống.
Vì lý do lưu trữ, bản sao của cơ sở dữ liệu sẽ được gửi mà không có filestore đến máy chủ nâng cấp. Do đó, cơ sở dữ liệu đã nâng cấp không chứa filestore production.
Trước khi khôi phục cơ sở dữ liệu đã nâng cấp, kho lưu trữ tệp của cơ sở dữ liệu đó phải được hợp nhất với kho lưu trữ tệp production để có thể thực hiện các kiểm thử trong cùng điều kiện như trong phiên bản mới.
Cơ sở dữ liệu đã nâng cấp bao gồm:
Tệp
dump.sql
chứa cơ sở dữ liệu đã nâng cấpThư mục
filestore
chứa các tệp được trích xuất từ các bản ghi trong cơ sở dữ liệu thành tệp đính kèm (nếu có) và các tệp Odoo tiêu chuẩn mới từ phiên bản Odoo mục tiêu (ví dụ: hình ảnh, biểu tượng, logo mới của nhà cung cấp dịch vụ thanh toán,…). Đây là thư mục cần được hợp nhất với filestore production để có được filestore đã nâng cấp đầy đủ.
Ghi chú
Bạn có thể yêu cầu nhiều cơ sở dữ liệu kiểm thử nếu muốn kiểm thử một bản nâng cấp nhiều lần.
Ghi chú
Khi yêu cầu nâng cấp hoàn tất, báo cáo nâng cấp sẽ được đính kèm vào email nâng cấp thành công và có sẵn trong ứng dụng Thảo luận của những người dùng thuộc nhóm “Quản trị/Cài đặt”. Báo cáo này cung cấp thông tin quan trọng về các thay đổi được giới thiệu trong phiên bản mới.
Kiểm thử phiên bản mới của cơ sở dữ liệu¶
Bạn cần kiểm thử cơ sở dữ liệu kiểm thử đã nâng cấp để đảm bảo không gặp sự cố trong các hoạt động hàng ngày do thay đổi về chế độ xem, hành vi hoặc thông báo lỗi sau khi nâng cấp.
Ghi chú
Cơ sở dữ liệu kiểm thử sẽ bị vô hiệu hóa một phần và một số tính năng được tắt đi để ngăn chúng ảnh hưởng đến cơ sở dữ liệu production:
Tác vụ đã lên lịch đang bị tắt.
Máy chủ thư đi bị vô hiệu hóa bằng cách lưu trữ máy chủ hiện có và thêm máy chủ giả.
Nhà cung cấp dịch vụ thanh toán và đơn vị vận chuyển được đặt lại về môi trường kiểm thử.
Đồng bộ hóa ngân hàng bị vô hiệu hóa. Nếu muốn kiểm thử đồng bộ hóa, hãy liên hệ với nhà cung cấp dịch vụ đồng bộ hóa ngân hàng của bạn để lấy thông tin đăng nhập sandbox.
Bạn nên kiểm thử càng nhiều tính năng càng tốt để đảm bảo chúng hoạt động chính xác và để làm quen hơn với phiên bản mới.
Danh sách kiểm thử cơ bản
Có chế độ xem nào bị vô hiệu hóa trong cơ sở dữ liệu kiểm thử nhưng lại hoạt động trong cơ sở dữ liệu production của bạn không?
Chế độ xem thông thường của bạn có còn hiển thị chính xác không?
Các báo cáo (hóa đơn, đơn bán hàng,…) của bạn có được tạo chính xác không?
Các trang trên trang web của bạn có hoạt động bình thường không?
Bạn có thể tạo và sửa đổi các bản ghi không? (đơn bán hàng, hóa đơn, mua hàng, người dùng, liên hệ, công ty,…)
Có vấn đề gì với mẫu thư của bạn không?
Có vấn đề gì với các bản dịch đã lưu không?
Bộ lọc tìm kiếm của bạn vẫn còn chứ?
Bạn có thể xuất dữ liệu của mình không?
Kiểm tra một sản phẩm ngẫu nhiên trong danh mục sản phẩm của bạn và so sánh dữ liệu kiểm thử với production để xác minh mọi thứ đều giống nhau (loại sản phẩm, giá bán, giá thành, nhà cung cấp, tài khoản, tuyến,…).
Mua sản phẩm này (ứng dụng Mua hàng).
Xác nhận nhập kho sản phẩm này (Ứng dụng Tồn kho).
Kiểm tra xem tuyến nhận sản phẩm này có giống với tuyến trong cơ sở dữ liệu production của bạn (ứng dụng Tồn kho) hay không.
Bán sản phẩm này (Ứng dụng Bán hàng) cho một khách hàng ngẫu nhiên.
Mở cơ sở dữ liệu khách hàng (ứng dụng Liên hệ), chọn một khách hàng (hoặc công ty) và kiểm tra dữ liệu.
Vận chuyển sản phẩm này (ứng dụng Tồn kho).
Kiểm tra xem tuyến vận chuyển sản phẩm này có giống với tuyến trong cơ sở dữ liệu production của bạn (ứng dụng Tồn kho) hay không.
Xác thực hóa đơn bán hàng (Ứng dụng Hóa đơn hoặc Kế toán).
Ghi có hóa đơn (phát hành giấy báo có) và kiểm tra xem nó có hoạt động giống như trong cơ sở dữ liệu production của bạn không.
Kiểm tra kết quả báo cáo của bạn (Ứng dụng Kế toán).
Kiểm tra ngẫu nhiên thuế, tiền tệ, tài khoản ngân hàng và năm tài chính của bạn (Ứng dụng Kế toán).
Tạo một đơn hàng online (Ứng dụng Trang web) từ khâu chọn sản phẩm trong cửa hàng cho đến bước thanh toán và kiểm tra xem mọi thứ có hoạt động giống như trong cơ sở dữ liệu production không.
Đây không phải là danh sách đầy đủ. Hãy mở rộng ví dụ sang các ứng dụng khác tuỳ vào những việc bạn làm trên Odoo.
If you face an issue while testing your upgraded test database, you can request the assistance of Odoo by going to the Support page and selecting “An issue related to my future upgrade (I am testing an upgrade)”. In any case, it is essential to report any problem encountered during the testing to fix it before upgrading your production database.
Bạn có thể gặp những thay đổi đáng kể về các chế độ xem, tính năng, trường và mô hình tiêu chuẩn trong quá trình kiểm thử. Tuỳ từng trường hợp, những thay đổi đó không thể được hoàn nguyên. Tuy nhiên, nếu một thay đổi ở phiên bản mới làm hỏng tùy chỉnh, thì bên bảo trì phân hệ tùy chỉnh của bạn phải chịu trách nhiệm đảm bảo phân hệ này tương thích với phiên bản Odoo mới.
Mẹo
Đừng quên kiểm thử
Tích hợp với phần mềm bên ngoài (EDI, API,…)
Quy trình giữa các ứng dụng khác nhau (bán hàng online với Thương mại điện tử, chuyển đổi lead thành đơn bán hàng, giao sản phẩm,…)
Xuất dữ liệu
Hành động tự động
Các tác vụ máy chủ trong menu tác vụ trên chế độ xem biểu mẫu, cũng như bằng cách chọn nhiều bản ghi trên chế độ xem danh sách
Nâng cấp cơ sở dữ liệu production¶
Once the tests are completed and you are confident that the upgraded database can be used as your main database without any issues, it is time to plan the go-live day.
Cơ sở dữ liệu production của bạn sẽ không khả dụng trong quá trình nâng cấp. Do đó, chúng tôi khuyên bạn nên lên kế hoạch nâng cấp vào thời điểm ít sử dụng cơ sở dữ liệu nhất.
Vì các tập lệnh nâng cấp tiêu chuẩn và cơ sở dữ liệu của bạn liên tục phát triển, nên bạn cũng nên thường xuyên yêu cầu một cơ sở dữ liệu kiểm thử đã nâng cấp khác để đảm bảo rằng quá trình nâng cấp vẫn thành công, đặc biệt là nếu mất nhiều thời gian để hoàn tất. Bạn cũng nên tập dượt toàn bộ các bước nâng cấp vào ngày trước khi nâng cấp cơ sở dữ liệu production.
Quan trọng
Việc đưa vào production mà không kiểm thử trước có thể dẫn đến:
Người dùng không thích nghi với những thay đổi và tính năng mới
Gián đoạn kinh doanh (ví dụ: không còn khả năng xác thực tác vụ)
Trải nghiệm khách hàng kém (VD: trang web Thương mại điện tử không hoạt động chính xác)
Quá trình nâng cấp cơ sở dữ liệu production cũng tương tự như quá trình nâng cấp cơ sở dữ liệu kiểm thử, nhưng có một vài ngoại lệ.
Quá trình này tương tự như :ref:nhận cơ sở dữ liệu kiểm thử đã nâng cấp <upgrade-request-test>
, ngoại trừ tùy chọn mục đích phải được đặt thành :guilabel:Production
thay vì :guilabel:Kiểm thử
.
Cảnh báo
Sau khi yêu cầu nâng cấp, cơ sở dữ liệu sẽ không khả dụng cho đến khi quá trình nâng cấp hoàn tất. Sau khi hoàn tất, không thể quay lại phiên bản trước đó.
Quá trình này tương tự như :ref:nhận cơ sở dữ liệu kiểm thử đã nâng cấp <upgrade-request-test>
trên nhánh :guilabel:Production
.

Quá trình này được kích hoạt ngay khi có commit mới trên nhánh. Điều này cho phép quá trình nâng cấp được đồng bộ hóa với việc triển khai mã nguồn đã nâng cấp của các phân hệ tùy chỉnh. Nếu không có phân hệ tùy chỉnh nào, quá trình nâng cấp sẽ được kích hoạt ngay lập tức.
Quan trọng
Cơ sở dữ liệu không khả dụng trong suốt quá trình này. Nếu có bất kỳ sự cố nào xảy ra, nền tảng sẽ tự động hoàn nguyên bản nâng cấp, giống như đối với bản cập nhật thường xuyên. Trong trường hợp thành công, bản sao lưu cơ sở dữ liệu sẽ được tạo trước khi nâng cấp.
Bạn phải cập nhật thành công các phân hệ tùy chỉnh để hoàn tất toàn bộ quá trình nâng cấp. Đảm bảo trạng thái nâng cấp staging của bạn là :guilabel:thành công
trước khi thử trong production. Bạn có thể tìm hiểu thêm thông tin về cách nâng cấp các phân hệ tùy chỉnh tại :doc:/developer/howtos/upgrade_custom_db
.
Lệnh nâng cấp cơ sở dữ liệu lên production tương tự như lệnh nâng cấp cơ sở dữ liệu kiểm thử ngoại trừ đối số test
, phải được thay thế bằng production
:
$ python <(curl -s https://upgrade.odoo.com/upgrade) production -d <your db name> -t <target version>
Bạn cũng có thể yêu cầu cơ sở dữ liệu production đã nâng cấp qua Trang nâng cấp <https://upgrade.odoo.com>
_.
Sau khi cơ sở dữ liệu được tải lên, bất kỳ sửa đổi nào trên cơ sở dữ liệu production sẽ không xuất hiện trên cơ sở dữ liệu đã nâng cấp. Đây là lý do chúng tôi khuyên bạn không nên sử dụng cơ sở dữ liệu này trong quá trình nâng cấp.
Quan trọng
Khi yêu cầu cơ sở dữ liệu đã nâng cấp cho mục đích production, bản sao sẽ được gửi mà không có filestore. Do đó, filestore cơ sở dữ liệu đã nâng cấp phải được hợp nhất với filestore production trước khi triển khai phiên bản mới.
In case of an issue with your production database, you can request the assistance of Odoo by going to the Support page and selecting “An issue related to my upgrade (production)”.
Thỏa thuận mức dịch vụ (SLA)¶
Với Odoo Enterprise, việc nâng cấp cơ sở dữ liệu lên phiên bản Odoo mới nhất được thực hiện miễn phí, bao gồm mọi hỗ trợ cần thiết để khắc phục những sự cố tiềm ẩn trong cơ sở dữ liệu đã nâng cấp.
Information about the upgrade services included in the Enterprise Licence is available in the Odoo Enterprise Subscription Agreement. However, this section clarifies what upgrade services you can expect.
Dịch vụ nâng cấp được bao gồm trong SLA¶
Cơ sở dữ liệu được lưu trữ trên nền tảng đám mây của Odoo (Odoo Online và Odoo.sh) hoặc tự lưu trữ (On-Premise) luôn được hưởng lợi từ các dịch vụ nâng cấp đối với:
nâng cấp tất cả ứng dụng tiêu chuẩn;
việc nâng cấp tất cả tùy chỉnh được tạo bằng ứng dụng Studio, nếu Studio vẫn được cài đặt và gói đăng ký tương ứng vẫn còn hiệu lực; và
nâng cấp tất cả các phát triển và tùy chỉnh được bao gồm trong bảo trì tùy chỉnh của gói đăng ký.
Dịch vụ nâng cấp giới hạn ở chuyển đổi và điều chỉnh kỹ thuật cơ sở dữ liệu (các phân hệ và dữ liệu tiêu chuẩn) để làm cho nó tương thích với phiên bản mục tiêu của bản nâng cấp.
Dịch vụ nâng cấp không được bao gồm trong SLA¶
Các dịch vụ nâng cấp sau đây không được bao gồm:
làm sạch dữ liệu và cấu hình đã có trong khi nâng cấp;
việc nâng cấp các phân hệ bổ sung không được bao gồm trong hợp đồng bảo trì được tạo nội bộ hoặc bởi các bên thứ ba, bao gồm cả các đối tác của Odoo; và
đào tạo về cách sử dụng các tính năng và quy trình hoạt động của phiên bản đã nâng cấp.