全部文档
文档中心DeepModel功能DeepModel迁移

DeepModel迁移

DeepModel作为数据库,并非通过元素导入导出进行迁移

  • 如果迁移目标是全新空间,可联系DeepModel组进行人工运维

  • 如果迁移目标是现存空间新应用,可手动迁移应用,详见下文“迁移至现存空间新应用

  • 如果迁移目标是现存空间现存应用,可手动更新应用,详见下文“更新现存空间现存应用

从老应用迁移至现存空间新应用,可通过手动迁移应用,主要包括:迁移对象结构、迁移其他配置、迁移对象数据

1. 老应用批量导出对象结构

目前导出对象结构主要导出对象结构与业务规则,且仅限导出当前应用的标准对象

地图模式->画布右上角更多下拉->点击“批量导出结构”,选择需要导出结构的对象

点击“导出”,导出成功后前往下载中心下载

2. 新应用新建/引用对象(非老应用标准对象)

由于仅支持老应用的标准对象直接导入导出结构,对于非老应用标准对象

  • 视图对象-工作流对象组:需要先在迁移目标空间组件管理中注册“工作流3.0”,再在新应用中拖拽icon至画布新建

  • 视图对象-从DM-数据表/维度新建:需要先把依赖的DM-数据表/维度元素从老应用迁移至新应用,再在新应用中拖拽icon至画布新建

  • 预置对象-元素对象:可在新应用中直接拖拽icon至画布新建

  • 外部对象-用户/用户组对象:空间初始化时已新建,可在新应用中直接拖拽icon至画布引用

  • 外部对象-从其他模块引入对象:需要先在迁移目标空间相关应用中新建对象,再在新应用中拖拽icon至画布引用

3. 新应用批量导入对象结构(老应用标准对象)

针对老应用导出的标准对象,地图模式->画布右上角更多下拉->点击“批量导入结构”,选择导入文件即老应用导出文件

文件上传成功后,需要修复导入对象的链接、计算属性/链接

  • 修复链接:如果链接的目标对象不在导入对象列表中,则需要手动处理。例如:指向视图对象(工作流对象、从DM-数据表/维度新建对象)、预置对象(元素对象)、外部对象(用户/用户组对象、从其他模块引入对象)的链接。其中,忽略表示不导入该链接,修复表示选择链接对象后导入该链接

  • 修复计算属性/链接:如果导入对象包含计算属性/链接,则需要手动处理。其中,忽略表示不导入该计算属性/链接,尝试表示在不修复配置的情况下导入该计算属性/链接,如果导入不报错则导入成功,否则忽略即不导入

    • 由于尝试可能存在导入失败忽略即不导入的情况,导入对象后需要手动检查是否导入计算属性/链接

    • 已知以下情况会导入失败忽略,导入对象后需要手动添加相关计算属性/链接

      • 计算属性/链接编辑模式为UI/联查模式时,开启过滤/查询条件

      • 计算属性/链接编辑模式为DeepQL模式时,查询语句引用非目标空间对应模块或非目标空间下应用对应模块中的对象,例如:用户对象${老空间模块}::SystemUser、用户组对象${老空间模块}::SystemGroup,由于DeepModel仅可引用当前空间对应模块或当前空间下应用对应模块中的对象。手动添加时需要把模块前缀改为目标空间对应模块或目标空间下应用对应模块,例如:用户对象${目标空间模块}::SystemUser、用户组对象${目标空间模块}::SystemGroup

      • 同时,如果查询语句引用全局变量,也需把模块前缀改为目标空间对应模块或目标空间下应用对应模块,包括:当前用户ID${目标空间模块}::current_user_id、当前用户${目标空间模块}::current_user

如果导入对象编码与新应用中对象编码重复,则需重命名

点击“导入”,导入对象结构与业务规则

注:目前批量导入对象结构时,如果对象业务描述为计算属性,则会报错提示获取不到业务描述字段,由于导入逻辑问题,后续会进行优化。暂时需要在批量导出对象结构时,将该对象的业务描述设置为<无>,导入后再手动设置

目前除对象结构、业务规则与数据支持导入导出,其他配置需要手动新建,主要包括:基础服务-自增序列、基础服务-访问规则、查询器-查询列表

1. 基础服务-自增序列

需要按老应用手动新建序列

新建序列后,在引用该序列的业务规则中重选下该序列并保存,保存后报错会消除,可正常新建对象数据

如果需要序列数据,可先在使用该序列的对象中新建一条数据,再在序列数据管理中修改对应序列主键的序列值

2. 基础服务-访问规则

需要按老应用手动新建各对象的访问规则,规则编码需要一致,确保领域模型-访问策略可引用到

注:同计算属性/链接编辑模式为DeepQL模式时的查询语句,访问表达式引用非目标空间对应模块或非目标空间下应用对应模块中的对象,例如:用户对象${老空间模块}::SystemUser、用户组对象${老空间模块}::SystemGroup,由于DeepModel仅可引用当前空间对应模块或当前空间下应用对应模块中的对象。手动新建时需要把模块前缀改为目标空间对应模块或目标空间下应用对应模块,例如:用户对象${目标空间模块}::SystemUser、用户组对象${目标空间模块}::SystemGroup

同时,访问表达式引用全局变量时,也需把模块前缀改为目标空间对应模块或目标空间下应用对应模块,包括:当前用户ID${目标空间模块}::current_user_id、当前用户${目标空间模块}::current_user

3. 查询器-查询列表

需要按老应用手动新建个人/公共查询,查询编码需要一致,确保UX数据源(自定义查询-DeepQL)可引用到

注:同计算属性/链接编辑模式为DeepQL模式时的查询语句,查询引用非目标空间对应模块或非目标空间下应用对应模块中的对象,例如:用户对象${老空间模块}::SystemUser、用户组对象${老空间模块}::SystemGroup,由于DeepModel仅可引用当前空间对应模块或当前空间下应用对应模块中的对象。手动新建时需要把模块前缀改为目标空间对应模块或目标空间下应用对应模块,例如:用户对象${目标空间模块}::SystemUser、用户组对象${目标空间模块}::SystemGroup

同时,查询引用全局变量时,也需把模块前缀改为目标空间对应模块或目标空间下应用对应模块,包括:当前用户ID${目标空间模块}::current_user_id、当前用户${目标空间模块}::current_user

1. 老应用批量导出对象数据

导出对象数据会导出对象所有属性/链接的数据,包括层级链接parent的链接属性parent@aggweight、parent@level_order

地图模式->画布右上角更多下拉->点击“批量导出数据”,选择需要导出数据的对象,理论上可导出画布中所有对象数据,但建议只导出主数据,测试的业务数据在新应用中通过功能生成;同时,只需导出当前应用标准对象的数据,由于仅当前应用的标准对象支持导入数据

点击“导出”,导出成功后前往下载中心下载

2. 新应用同步对象数据(非老应用标准对象)

由于仅支持老应用的标准对象直接导入导出数据,对于非老应用标准对象

  • 视图对象-工作流对象组:暂不支持底层流程实例数据迁移,在新应用中发起流程即有数据

  • 视图对象-从DM-数据表/维度新建:新建对象即有依赖的DM-数据表/维度元素数据

  • 预置对象-元素对象:相关元素从老应用迁移至新应用后,在对象数据管理中点击“同步”即更新得到平台元素数据(需要手动更新)。注:两个应用中的元素对象主键即元素ID值不同,需要修复指向元素对象的链接数据

  • 外部对象-用户/用户组对象:相关用户/用户组从老应用迁移至新应用后,引用对象即有平台用户/用户组数据(支持自动更新),也可在对象数据管理中点击“同步”手动更新。注:迁移用户/用户组时,如果新应用中已存在,且与老应用中用户/用户组对象主键即用户/用户组ID值不同,则需要修复指向用户/用户组对象的链接数据

  • 外部对象-从其他模块引入对象:相关应用中对象已迁移数据,引用对象即有数据

3. 新应用导入对象数据(老应用标准对象)

目前仅支持单对象导入数据,且仅限导入当前应用的标准对象

针对老应用导出的标准对象,地图模式/对象列表->对象数据管理->点击“导入全部”,选择导入文件即老应用导出文件。注:批量导出文件为ZIP压缩文件,其中每个Excel文件包含一个对象的数据,导入时选择对应Excel文件即可

  • 入口1:地图模式

  • 入口2:对象列表

文件上传成功后,自动映射导入文件列名到当前对象的属性/链接,可手动调整映射关系;导入老应用导出文件通常无需调整

导入方式仅支持增量导入,即在现有数据基础上新增导入数据,如果业务主键的值重复,则更新现有数据为导入数据。考虑到删除数据的风险,暂不支持全量导入,即删除现有数据并替换为导入数据

可选是否忽略所有业务规则,勾选即关闭所有业务规则,按导入文件导入数据

点击“导入”,导入对象所有属性/链接的数据,包括层级链接parent的链接属性parent@aggweight、parent@level_order

注:

  • 需要注意导入顺序,确保链接对象已迁移数据(除自我链接),否则导入链接数据时会报错

  • 如上所述,两个应用中的元素对象主键即元素ID值不同,需要修复指向元素对象的链接数据

  • 如上所述,迁移用户/用户组时,如果新应用中已存在,且与老应用中用户/用户组对象主键即用户/用户组ID值不同,则需要修复指向用户/用户组对象的链接数据

  • 导入时自动生成属性id值,而非通过导入,所以与老应用中id值不同。由于属性id仅为对象数据的唯一标识,并无业务含义,无需关注id值

同步老应用调整至现存空间现存应用,可通过手动更新应用,主要包括:更新对象结构、更新其他配置、更新对象数据

新增对象可参考上文“迁移至现存空间新应用”中的“迁移对象结构

现存对象调整暂时只能通过手动处理

  • 非老应用标准对象

    • 视图对象-工作流对象组、预置对象-元素对象、外部对象-用户/用户组对象:可通过对象右上角更多下拉->点击“更新结构”,更新对象结构至最新

    • 视图对象-从DM-数据表/维度新建:暂不支持更新结构,后续会增加该功能

    • 外部对象-从其他模块引入对象:相关应用中对象更新结构即可

  • 老应用标准对象:手动添加、删除属性/链接,或更新对象、属性/链接的属性栏

新增配置,包括:基础服务-自增序列、基础服务-访问规则、查询器-查询列表,可参考上文“迁移至现存空间新应用”中的“迁移其他配置

现存配置调整暂时只能通过手动修改配置内容

更新对象数据可参考上文“迁移至现存空间新应用”中的“迁移对象数据

回到顶部

咨询热线

400-821-9199

我们使用 ChatGPT,基于文档中心的内容以及对话上下文回答您的问题。

ctrl+Enter to send