Odoo 20 更改了自托管基线

Odoo 20 对基于源代码的本地部署要求 Python 3.12 或更高版本,以及 PostgreSQL 16 或更高版本。此前文档中的最低版本是 Python 3.10 和 PostgreSQL 13。因此,准备新部署或升级的组织需要同时审查应用运行环境和数据库平台。 (Odoo 20.0 文档: 本地部署源代码)

达到先前最低要求的服务器,并不一定自动满足 Odoo 20 的要求。应将基础设施准备情况与应用升级分开评估,包括开发、测试、迁移演练和生产环境所使用的版本。 (Odoo 20.0 文档: 本地部署源代码)

这些最低版本并不构成完整的部署设计。容量、架构、维护和恢复安排仍需根据组织环境进行确定。当前任务是找出现有基础设施与 Odoo 20 文档基线之间的差异。 (Odoo 20.0 文档: 本地部署源代码)

Python 3.12 成为最低要求

Odoo 20 将最低 Python 版本从 3.10 提升至 3.12。直接从源代码安装的团队必须使用 Python 3.12 或更高版本,而不是依赖现有服务器上已安装的解释器。 (Odoo 20.0 文档: 本地部署源代码)

Odoo 的 Python 包从 Odoo 20 发布元数据中的 MIN_PY_VERSION 获取最低要求。这为技术团队提供了一个可与安装文档一起核对的仓库级参考。 (Odoo Odoo Blob)

在批准升级之前,管理员应记录开发环境、部署自动化、测试系统和生产主机所选用的 Python 版本。应检查调用 python 或 python3 的脚本,以确认它们在各个环境中解析到的是哪个解释器。 (Odoo 20.0 文档: 本地部署源代码; Odoo Odoo Blob)

自定义附加组件和安装流程也应在目标 Python 3.12 环境中进行测试。Odoo 的最低要求定义的是应用层要求,但组织仍必须针对该解释器验证自身代码和部署流程。 (Odoo 20.0 文档: 本地部署源代码)

PostgreSQL 16 改变了数据库要求

最低受支持的 PostgreSQL 版本从 13 提升到 16。运行较早主版本的组织,需要将数据库差距作为 Odoo 20 项目的一部分来处理,而不是把 PostgreSQL 视为不变的依赖项。 (Odoo 20.0 文档: 本地部署源代码)

规划时应确定当前 PostgreSQL 版本、目标环境以及验证升级后 Odoo 数据库的流程。尽管应用和数据库变更可以纳入同一个项目管理,但两者都需要适当的测试、备份和恢复决策。 (Odoo 20.0 文档: 本地部署源代码)

PostgreSQL 16 基线也应用于非生产环境。使用其他主版本数据库开展的开发、预发布和迁移演练,无法复现文档中的 Odoo 20 要求。因此,在接受测试结果之前,应先检查版本一致性。 (Odoo 20.0 文档: 本地部署源代码)

Odoo 的安装文档确认了最低版本,但并未规定单个组织应如何迁移其数据。迁移方法应根据现有环境选择,并通过经过测试的流程加以验证。 (Odoo 20.0 文档: 本地部署源代码)

AI 功能增加了 pgvector 要求

使用 Odoo AI 功能的自托管 Odoo 安装需要 pgvector PostgreSQL 扩展。这是有条件的要求,并非每个本地部署都必须满足。 (Odoo 20.0 文档:本地安装源代码)

项目范围应说明是否会使用 Odoo AI 功能。如果包含这些功能,基础设施团队需要在 PostgreSQL 环境中准备并维护 pgvector。相应的测试环境也应包含该扩展。 (Odoo 20.0 文档:本地安装源代码)

如果初始部署中不包含 AI 功能,应记录这一决定。若计划中的功能集发生变化,应重新审查,因为启用相关 AI 功能会改变数据库扩展要求。 (Odoo 20.0 文档:本地安装源代码)

软件包支持取决于操作系统

Odoo 当前版本 20 的软件包文档将 Ubuntu 24.04 LTS 作为 Debian 包目标,将 Fedora 42 作为 RPM 包目标。使用软件包安装的组织在选择安装方式前,应将这些目标与所选操作系统进行比较。 (Odoo 20.0 文档:本地安装软件包)

软件包目标与 Python 和 PostgreSQL 的最低要求是分开的。满足运行时和数据库要求,并不意味着某个特定的 Odoo 软件包适用于当前使用的操作系统版本。软件包兼容性需要根据 Odoo 的软件包文档进行检查。 (Odoo 20.0 文档:本地安装源代码; Odoo 20.0 文档:本地安装软件包)

依赖已记录 Debian 软件包的团队应确认计划中的主机使用的是 Ubuntu 24.04 LTS。选择 RPM 路线的团队应对 Fedora 42 做同样的检查。不同的操作系统可能需要重新考虑安装方式。 (Odoo 20.0 文档:本地安装软件包)

在部署开始时,应再次检查软件包文档。项目早期做出的操作系统或软件包决定,不应替代安装时可用文档中的验证。 (Odoo 20.0 文档:本地安装软件包)

Windows 带有生产环境警告

由于相关限制和风险,Odoo 不建议将其 Windows 安装包用于生产部署。可获取 Windows 安装程序并不应被解读为对生产环境的推荐。 (Odoo 20.0 文档:本地安装软件包)

如果仍在考虑将 Windows 用于生产,平台决策应明确考虑 Odoo 的警告。组织应记录为何在该指导下仍选择 Windows,并将所述限制和风险作为部署批准的一部分进行评估。 (Odoo 20.0 文档:本地安装软件包)

升级批准前需要核实的内容

从现有环境的清单开始。记录 Python 解释器、PostgreSQL 主版本、操作系统版本、安装方式,以及是否将 Odoo AI 功能纳入范围。将这些细节与 Odoo 20 记录的要求进行比较。 (Odoo 20.0 文档:本地安装源代码; Odoo 20.0 文档:本地安装软件包)

接着,检查各环境之间的一致性。开发、预发布、迁移演练和生产环境应使用预定的 Python 和 PostgreSQL 基线。如果计划采用软件包部署,操作系统目标应与相关的 Debian 或 RPM 软件包文档一致。 (Odoo 20.0 文档:本地安装源代码; Odoo 20.0 文档:本地安装软件包)

确认部署范围和安装方式。源代码安装、Debian 软件包、RPM 软件包和 Windows 安装程序分别受 Odoo 指南的不同部分约束。是否包含 Odoo AI 功能也会决定是否需要 pgvector。 (Odoo 20.0 文档:本地安装源代码; Odoo 20.0 文档:本地安装软件包)

升级计划应包括对目标环境中的自定义附加组件、自动化脚本和数据库迁移流程的检查。这些检查应使用 Python 3.12 或更高版本以及 PostgreSQL 16 或更高版本,以确保测试反映 Odoo 20 记录的最低要求。 (Odoo 20.0 文档:本地部署源代码)

最后,在实施之前再次核对文档。文档中的 Odoo 20 基线是 Python 3.12 或更高版本以及 PostgreSQL 16 或更高版本,使用 Odoo AI 功能的自托管安装还需要 pgvector。当前的软件包目标平台是用于 Debian 包的 Ubuntu 24.04 LTS,以及用于 RPM 包的 Fedora 42,而 Odoo 不建议在生产环境中使用 Windows 打包。 (Odoo 20.0 文档:本地部署源代码; Odoo 20.0 文档:本地部署软件包)