错误修复更新

简介

为了享受最新的改进、安全修复、错误修正和性能提升,您可能需要不定期地更新您的 Odoo 安装。

本指南仅适用于您在自有托管基础设施上使用 Odoo 的情况。如果您使用的是其中一种 Odoo 云解决方案,更新将由我们自动为您完成。

软件更新相关的术语常常令人困惑,因此这里提供一些初步的定义:

更新(一个 Odoo 安装)

指的是获取当前 Odoo 版本源代码最新修订版的过程。例如,将您的 Odoo 企业版 13.0 更新到最新修订版。此操作不会直接对您的 Odoo 数据库内容造成任何更改,并可以通过重新安装之前版本的源代码来撤销。

升级(Odoo 数据库)

指的是一个复杂的数据处理操作,其中您的数据库的结构和内容会被永久更改,以使其与 Odoo 的新版本兼容。此操作是不可逆的,通常通过 Odoo 的 数据库升级服务 完成,当您决定切换到 Odoo 的新版本时。从历史上看,这一过程也被称为“迁移”,因为它涉及在数据库内部移动数据,尽管升级后数据库可能最终仍位于相同的物理位置。

此页面描述了将 Odoo 安装更新到最新版本所需的一般步骤。如果您想了解有关升级数据库的更多信息,请访问 Odoo 升级页面

简而言之

通过在当前安装基础上重新安装最新版本的 Odoo 版本即可完成 Odoo 的更新。只要您不卸载 PostgreSQL(Odoo 自带的数据库引擎),此操作将不会对您的数据进行任何更改,从而保留您的数据。

更新的主要参考文献在逻辑上是我们的 安装指南,其中介绍了常见的安装方法。

更新也最好由最初部署 Odoo 的人员来完成,因为该过程非常相似。

注解

我们始终建议下载一个完整且最新的 Odoo 版本,而不是手动应用补丁,例如安全公告中提供的安全补丁。这些补丁主要适用于高度定制的安装,或希望在测试完整更新时临时应用最小更改的技术人员。

第一步:下载更新的 Odoo 版本

中央下载页面是 https://www.odoo.com/page/download。如果您看到 Odoo Enterprise 下载的“购买”链接,请确保您使用与 Odoo Enterprise 订阅关联的登录账号登录到 Odoo.com。

或者,您也可以使用随 Odoo Enterprise 购买确认邮件一同提供的唯一下载链接。

注解

如果通过 Github 安装,则无需下载更新版本(请参见下方)

步骤 2:备份您的数据库

更新过程相当安全,不会更改您的数据。然而,在对安装进行任何更改之前,最好先进行完整的数据库备份,并将其存储在另一台计算机上的安全位置。

如果您未禁用数据库管理器屏幕(有关为何应该这样做,请参见 此处),您可以使用它(在数据库选择屏幕底部的链接)下载您的数据库备份。如果您已禁用它,请使用与常规备份相同的流程。

第三步:安装更新版本

选择与您当前安装匹配的安装方式:

打包安装程序

如果您通过我们网站下载的安装包安装了 Odoo(推荐方法),更新非常简单。您只需下载与您的系统对应的安装包(参见步骤 #1)并将其安装在您的服务器上。这些安装包每日更新,包含最新的安全修复。通常,您只需双击该安装包即可在其当前安装基础上进行安装。安装完包后,请确保重启 Odoo 服务或重新启动您的服务器,这样就完成了。

源码安装(Tarball)

如果您最初是通过 “tarball” 版本(源代码存档)安装的 Odoo,您需要将安装目录替换为新版本。首先从 Odoo.com 下载最新的 tarball。它们每天都会更新,并包含最新的安全修复(参见步骤 #1)。下载完包装后,将其解压到服务器上的临时位置。

你将看到一个以源代码版本命名的文件夹,例如 “odoo-13.0+e.20190719”,该文件夹包含一个 “odoo.egg-info” 文件夹和实际的源代码文件夹,名为 “odoo”(适用于 Odoo 10 及更高版本)或 “openerp”(适用于旧版本)。你可以忽略 “odoo.egg-info” 文件夹。找到你当前安装所部署的文件夹,并用你刚刚解压的存档中的新 “odoo” 或 “openerp” 文件夹替换它。

请确保匹配文件夹结构,例如源代码中包含的新 “addons” 文件夹应正好位于与之前相同的路径下。接下来,请注意任何你可能在旧文件夹中手动复制或修改的特定配置文件,并将它们复制到新文件夹中。最后,重启 Odoo 服务或重新启动机器,一切就准备就绪。

源码安装(GitHub)

如果您最初是通过完整克隆官方仓库的 GitHub 代码安装的 Odoo,更新过程需要您通过 git 拉取最新的源代码。进入每个仓库的目录(主 Odoo 仓库和企业版仓库),然后运行以下命令:

git fetch
git rebase --autostash

如果之前在本地编辑过 Odoo 源代码,最后一次命令可能会遇到源代码冲突。错误信息会列出所有存在冲突的文件,你需要通过编辑这些文件并决定保留代码的哪一部分来手动解决冲突。

或者,如果您希望直接丢弃冲突的更改并恢复官方版本,可以使用以下命令:

git reset --hard

最后,重启 Odoo 服务或重新启动机器,您就完成了。

Docker

请参阅我们的 Docker 镜像文档 以获取具体的更新说明。