Dan*_*har 19 python odoo odoo-9
我有一些模块可以扩展Odoo的附加功能.例如,my_module扩展的模型crm:
class Lead(models.Model):
_inherit = 'crm.lead'
# exmaple fields
field_1 = fields.Char(...)
field_2 = fields.Many2one(...)
# ... field 99
class Stage(models.Model):
_inherit = 'crm.stage'
# exmaple fields
field_1 = fields.Char(...)
field_2 = fields.Many2one(...)
# ... field 99
Run Code Online (Sandbox Code Playgroud)
同样的情况是其扩展模块hr,product等我需要做一些改变的车型.例如,在中my_module_1,我需要更改几个字段(类型,关系)my_module_2,仅删除几个字段等.当然,我还需要更改每个模块的视图.当然,我的自定义模型与不同应用程序/模块的模型有依赖关系.但我有必须存储的生产数据.我没有在Odoo中找到有关迁移(或模块同步)的任何信息.
我的问题是:在生产中更新模块/应用程序的最佳方法是什么(如果我们在模型和视图领域有很多变化)?提前致谢.
我的问题是:在生产中更新模块/应用程序的最佳方法是什么(如果我们在模型和视图领域有很多变化)?
虽然这个问题已经存在了一段时间,但我看不到任何规范的答案,因此这是我的两分钱。
在 Odoo 中从一个版本迁移到另一个版本的问题相当常见,而且绝对复杂。考虑到这一点,OpenUpgrade项目已经创建。OpenUpgrade 基本上upgrade path可以帮助您将数据和模型从版本 A 转换到版本 B。例如,如果名为 fieldA 的字段在版本 9 上更改了其类型,而您使用的是版本 8,OpenUpgrade 将通过执行以下操作来处理此问题必要的转变。
OpenUpgrade 还使您可以创建自己的迁移脚本,该脚本将执行所需的任何操作,以便您的模块在各种版本中向前移植(或向后移植)。对于标准模块,这些脚本已经编写完毕,但对于您自己的模块,您可能需要编写一些脚本。
我建议您看一下上面的文档,这基本上是我们谈论 Odoo 中的迁移时的第一站。