跳转到主要内容

从另一个Odoo实例导入记录

项目描述

Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

此模块是为了从另一个Odoo数据库导入数据而编写的。想法是您定义要从中导入数据的模型,并添加最终映射以避免导入的记录。

使用案例

  • 合并数据库

  • 单向同步

  • 聚合分布式系统中的管理数据

目录

配置

前往设置/远程Odoo导入/导入配置并创建配置。

填写您的凭据后,从远程数据库选择要导入的模型。如果您只想导入记录的子集,请添加适当的域。

导入将复制所有模型的记录,并处理未导入模型的记录链接,具体取决于现有的字段映射。字段映射到本地记录也是停止条件。如果没有这些,导入将不得不为所有必需的x2x字段创建一些记录,这您可能不希望。

您可能想要映射模型 res.company 的记录,以及至少管理员用户。

该模块不会导入多对一字段,如果您想有这些,请将字段指向的模型添加到导入模型列表中,可能带有域。

如果您没有填写远程ID,插件将使用配置的本地ID为模型的每条记录使用(这样,例如,您可以将远程系统中的所有用户映射到当前系统中的某些导入用户)。

对于具有唯一性约束的字段(如res.users#login),如果类型为unique,则创建字段映射,导入将为此字段生成唯一值。

对于使用两个字段引用的模型(如ir.attachment),创建类型为by reference的字段映射并选择涉及的两个字段。导入将已知的ID(=导入模型的ID)转换为相应的本地ID,并清理未知模型/ID的字段。

如果您数据库的必需字段与源数据库不同,您可以按模型添加自定义默认值。对于res.partner,您很可能会填写{'name': '/'}}或类似的内容。

用法

要使用此模块,您需要

  1. 进入导入配置并点击按钮运行导入

  2. 请耐心等待,这将创建一个cron作业,该作业将在之后的一分钟内启动

  3. 重新加载表单,一旦cron作业运行,您将看到一个进度字段,允许您检查已经导入的内容

  4. 请注意,cron作业也会在读取密码后立即重置密码。因此,对于随后的导入,您将不得不再次填写它

  5. 第二次运行导入不会重复数据,它应该能够识别之前导入的记录并仅更新它们

已知问题/路线图

  • 当然,这会重复很多连接器功能。用连接器框架重写,可能需要与https://github.com/OCA/connector-odoo2odoo合作

  • 支持引用字段,同时重构_run_import_map_values以调用每个字段类型的函数

  • 添加重复处理策略“覆盖旧数据”

错误跟踪器

错误在GitHub Issues上跟踪。如果在出现问题时,请检查您的错误是否已经报告。如果您是第一个发现它的人,请帮助我们通过提供详细和欢迎的反馈

请不要直接联系贡献者寻求支持或技术问题的帮助。

鸣谢

作者

  • Therp BV

  • Hunki Enterprises BV

贡献者

维护者

此模块由OCA维护。

Odoo Community Association

OCA,或Odoo社区协会,是一个非营利组织,其使命是支持Odoo功能的协作开发并推广其广泛使用。

此模块是GitHub上的OCA/server-tools项目的一部分。

欢迎您做出贡献。要了解如何进行,请访问https://odoo-community.org/page/Contribute

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定该选择哪个,请了解更多关于安装包的信息。

源代码分发

本版本没有提供源代码分发文件。请参阅有关生成分发存档的教程。

构建分发

由以下支持