自从odoo9正式发布后,odoo8就意味着迟早要跟odoo7一样进入历史
但在一段时间的过渡期内
开发者可能要维持两套版本环境方便快速调式自己的代码能否多版本兼容运行
特别是插件开发,经常一个修改就需要到两个系统更新应用测试
以下记载各个共存环节需要注意的事项
安装方式:
因为安装包是互斥冲突的,所以必须源码安装
依赖库:
相同部分(python)或特有部分(nodejs)可以全局安装,不同部分则用上篇python-virtualenv虚拟环境隔离
数据库:
最简单一个本机帐号同名的超级账户共享使用,odoo缺省配置就能连接上了
不过最好先安装8在安装9,因为9能认识8创建的数据库而忽略,但8不太认识9创建的数据库自动连接会报错
共存之后8的控制台会例行报如下警告,要洁癖只能分别配置两个数据库帐号
1 |
2015-12-08 04:36:17,108 2143 WARNING odoo9 openerp.addons.base.ir.ir_cron: Skipping database odoo9 as its base version is not 8.0.1.3. |
版本库:
odoo8和odoo9两目录分别clone对应官方git版本库的8.0和9.0分支,独立各自日常更新
1 2 3 |
[srj@x1c odoo8]$ git clone -b 8.0 git@github.com:odoo/odoo.git . [srj@x1c odoo9]$ git clone -b 9.0 git@github.com:odoo/odoo.git . |
插件库:
比较灵活,我的方式是与odoo目录同级,然后配置文件共同指向
1 2 3 4 |
[srj@x1c Odoo]$ pwd /home/srj/Git/Odoo [srj@x1c Odoo]$ ls learn_addons odoo8 odoo9 other_addons renjie_addons |
配置文件:
启动时分别指定各自独立配置,各自用不同的端口
1 2 3 4 5 6 7 8 9 |
[srj@x1c odoo8]$ cat c.conf [options] addons_path = /home/srj/Git/Odoo/renjie_addons,/home/srj/Git/Odoo/odoo8/openerp/addons,/home/srj/Git/Odoo/odoo8/addons xmlrpc_port = 8008 [srj@x1c odoo9]$ cat c.conf [options] addons_path = /home/srj/Git/Odoo/renjie_addons,/home/srj/Git/Odoo/odoo9/openerp/addons,/home/srj/Git/Odoo/odoo9/addons xmlrpc_port = 8009 |
浏览器:
虽然分属不同的端口提供服务,但因为登录标识必须要写用户本地浏览器cookie如session_id,或者犹如website_lang网站默认语言这种个性化设置。但由于cookie只匹配域名及路径就是不区分端口,所以同一个浏览器只能固定某个版本调式,如果同时使用就会发生各种意想不到的混乱错误。
当然解决方案也很简单,就是将本机127.0.0.1多设置几个如localhost这种别名来给不同的odoo版本独立访问即可
1 2 |
sudo vim /etc/hosts 127.0.0.1 odoo8 odoo9 |