更新你的 OpenERP 安装

更新次版本/补丁发行版

OpenERP的发布策略是 通常每个月发布稳定版本的次版本/补丁。 这些建议部署在生产环 境,因为它们包括最新的安全更新和错误修正,并且需要任何迁移过程。

当然在正式用于实际的生产系统之前,你应当在你的开发环境(生产环境的副本)中进行上述的测试。

关于发行周期的更多信息,参阅 OpenERP 版本发布常见问题

OpenERP的小版本/补丁发行版用增加第3个发行号来标识,例如 v6.0.5是 OpenERP v6.0 的第15个补丁发行.

注解

Minor

你能跳过 minor 版本, 例如,如果你要升级一个已经过时的版本,只要你还停留在同一个版本线中,你不必安装从 6.0.6 到 6.0.15 的所有发行版(例如:例子中的6.0),

升级一个已有的 OpenERP 安装到较新的补丁发行版,归结为两个操作:

  • 安装新的代码覆盖已有的一个

  • 用新的代码同步每个已有的数据库

为了实现这些,下面的步骤将给你一个最好的结果 :

  1. Make a fresh backup of all existing databases, as well as a backup of the files of your OpenERP installation (server, web and addons), just in case. 为所有的数据库进行一次新的备份,同样备份一下OpenERP的已安装文件(server、web和addons),以防万一。

  2. 停止OpenERP服务和web服务(如果启动了的话)。

  3. 升级源文件到最新版,或者直接安装最新版覆盖原先的版本。如果必要,你能够卸载之前的版本,但是应当确保避免卸载PotgreSQL,因为这样会删除你现有的数据库!

  4. 找到单独的服务可执行文件 openerp-server.exe (这不是被Windows服务所用的可执行文件!)。它应该位于你安装OpenERP服务的地方,比如, C:\Programs\OpenERP 6.0\Server。

  5. 在命令提示符下,开始手动启动服务的可执行文件(直接调用上述位置的可执行文件),为了触发升级所有模块的数据并在新的源文件中查看数据库,使用如下参数,如果有的话,还应包含你原来使用的启动参数,并且用你希望升级的数据库名字替换 DB_NAME

    1. openerp-server.exe -d DB_NAME -u all
  6. 让服务完成启动(查看日志文件,当看到最后的消息内容为 OpenERP server is running, waiting for connections(OpenERP服务已经运行,等待连接) 或者等到你可以使用GTK客户端连接数据库,然后使用键盘组合键 Ctrl+C 停止服务,为现有的OpenERP安装的每个数据库重复操作上述的步骤(任何不更新的数据库在你按照上述流程更新之前,将使用原先的业务逻辑,但是可能在视图上存在错误,或者缺少视图的更新)。

  7. 再次用 Ctrl+C 停止服务并正常作为服务启动。

  8. 如果有Web服务器,启动之。

  9. 现在你可以用更新的GTK客户端处理数据了,这个操作也可以使用简单重装最新版覆盖原有版本的方法单独实现。

注解

服务器

作为替代,在更行过程中,像上面描述地那样为每一个数据库重启服务,可以尝试在安装新版本之后正常启动,然后以 Administrator(管理员) 用户连接到每个数据库。打开模块列表,手动触发更新 base 模块。

由于所有的模块都依赖于 base ,因此他们也都会被更新。然而,此项操作需要每个数据库的 Administrator(管理员) 密码,所以有时候会不能完成更新,特别是当更新会阻止登陆到系统的时候。

小技巧

开发手册

为了更多在真实的譬如完成服务器升级的技术信息, 你参考开发指南的相关章节: Upgrading Server, Modules.

更新到一个新的主发行版

OpenERP的发行策略表明,每年都会有一到两个主要版本从开发阶段到发行阶段。迁移到下个主要版本意味着比使用其他小的版本更新拥有更多的变化。由于底层的OpenERP数据结构从一个主要版本到下一个主要版本变更都比较多,有必要做全面的数据迁移。每个主要发行版本将会将会制定推荐的从现有OpenERP系统升级到下一主要版本的流程。

注解

主发行版本

对于主发行版本,通常是没有办法跳过某个版本的,比如直接从OpenERP4.2升级到OpenERP 6.0。 如果需要的话,你需要做这样的升级的话,最简单的办法应当是作为中介,完成每一个版本的升级,从而到达你想要的版本。