OpenERP代码升级后需要对数据进行升级,否则只是替换代码,会遇到很多意想不到的问题。这里记录一下升级操作的过程(这里是基于手动源码安装的环境进行说明):
1.需要停止OpenERP的服务,视具体的安装时的启动脚本可能是:
sudo /etc/init.d/openerp stop
或者
sudo /etc/init.d/openerp-server stop
2.更换代码,首先备份现有的代码,这里只是简单的修改目录名称
sudo mv /opt/openerp/server /opt/openerp/server.old
安装新的代码到/opt/openerp/server
首先下载OE源码包,这里下载OpenERP8.0最新开发版本
wget http://nightly.openerp.com/trunk/nightly/src/openerp-8.0dev-latest.tar.gz
把源文件解压到openerp用户家目录下
cd /opt/openerp
sudo tar xvf ~/openerp-8.0dev-latest.tar.gz
把文件的所有者改为openerp用户
sudo chown -R openerp: *
这里建议把服务器组件的安装目录修改为server,以便于后续修改时不必修改配置文件。
sudo mv -T openerp-8.0dev-20140226-000101 server
注意这里,目录名"openerp-8.0dev-20140226-000101"会因为你下载的时间不同而有所不同。完成之后进入下一步。
3.更新数据库
首先需要使用openerp用户的shell,
sudo su - openerp -s /bin/bash
在openerp用户shell下更新数据库
/opt/openerp/server/openerp-server -d dbName -u all
其中的dbName是你需要更新的数据库名,如果有多个数据库,则需要对每个数据库执行上述命令。
这这个时间可能会比较长,需要耐心等。
如果想要确认上面的命令是否在执行,使用下面的命令,查看用户进程是否在执行:
top -u opene
等到出现 "...... werkzeug: 127.0.0.1 ......" 升级完成,按Ctrl-C退出升级。退出openerp用户shell。
4.完成后数据库更新后,重启Open
sudo /etc/init.d/openerp-server start
web客户端连接OE,完成升级!