2017-09-30 108 views
3

我有odoo DB1DB2两个数据库。我通过GUI(网络客户端)对DB1中的现有模块(如module1module2)进行了一些更改。所有这些更改都存储到DB1,并通过DB1登录时正常工作。如何升级Odoo模块?

现在,我对几个文件进行了一些更改(在相同的两个模块module1module2中)。这些模块需要升级才能加载这些更改。所以,我从DB2登录并升级了这些模块。当我通过DB2登录时,我的文件更改正确加载并正常工作。

但这些文件更改只加载了DB2而不是DB1

所以,我想知道:

  1. 如何模块的升级工作?是否仅升级用户登录并升级模块的数据库?
  2. 如果是这样。那么,有没有一种方法可以升级我的模块,同时保留我在同一模块中通过GUI所做的所有以前的更改?
  3. 升级模块时会发生什么变化?

回答

3

您可以重新启动服务器,并通过python odoo-bin -d database_name -u module_name 启动服务器或-u全部更新所有模块

+0

只有在python代码中进行更改时才有效。它不适用于XML更改。对于XML,您必须升级您的模块。此外,在模型中进行更改(例如添加字段或删除字段)时,重新启动服务器将不起作用。请再次阅读该问题。 –

4

有2步在Odoo升级插件,

首先,重新启动服务。它会升级你的.py文件。 其次,点击Apps> youraddonsname中的升级按钮。它会升级你的.xml文件。

我创建了一个升级XML文件的脚本。名字是upgrade.sh

#!/bin/sh for db in $(cat /opt/odoo/scripts/yourlistdbfiles); do odoo --addons-path=/opt/odoo/youraddonspath -d $db -u youraddonsname --no-xmlrpc > /opt/odoo/logs/yourlogfiles.log 2>&1 & sleep 20s && exit & done

,所以你只要运行SH /opt/odoo/script/upgrade.sh编辑插件,无需点击升级按钮后了。

希望得到这个帮助

+0

那么,它会保留我通过GUI进行的更改还是将它们还原回文件中的代码? –