跳转到内容

应用元数据导出功能介绍

本配置文件是应用管理系统的元数据导出/还原工具的规则定义文件。工具以”规则驱动”的方式,将数据库中沉淀的业务元数据(表结构、字段定义、数据字典、菜单、工作流、注入点等)按需导出,用于:

  • 环境间迁移:开发 → 测试 → 生产的元数据同步,保证各环境表结构与配置一致;
  • 备份还原:导出后可完整还原业务数据结构与配置,支持故障恢复;
  • 二次开发交付:将新增/修改的元数据打包,交付到其他环境增量生效。

整个文件由「全局配置 config」与「导出规则 rules」两部分组成,一条规则对应一类导出能力。


略


配置文件共定义 11 种导出规则类型,每条规则通过 type 区分能力,通过对应参数指定导出范围。

导出指定业务表的完整建表语句以及 collections 表里面的相关数据和 fields 字段

核心综合导出规则。一次导出三层数据,可对指定业务表做”一键完整还原”:

  • 物理表结构:完整建表语句(DDL,含字段、索引、约束);
  • 元数据记录:collections 表(系统元数据仓库)中该表对应的相关数据;
  • 字段定义:fields 表中该表所有字段的定义信息。

配置参数:

参数类型说明
tables数组需要导出的业务表名列表
适用场景: CRM 核心业务模块的整体迁移与同步;环境重建(开发/测试/生产)时完整还原业务表。

当前状态: ✅ 启用


导出指定表的完整建表语句

纯结构导出规则,仅导出表的 DDL(建表语句),不包含元数据与业务数据。用于只关心物理表结构、不涉及配置数据的场景。

配置参数:

参数类型说明
tables数组需要导出的表名列表

适用场景: 仅同步表结构(如表变更上线、空库建表);与核心规则配合补齐不在业务范围内的关联表结构。

当前状态: ✅ 启用


导出指定的全量数据表和符合模式的表

全量数据导出规则,用于按需导出整表业务数据。

配置参数:

参数类型说明
tables数组指定要导出全量数据的表名列表
patterns数组表名匹配模式(正则/通配),符合模式的表批量导出

使用方式: 当前为预留规则。需要时在 tables 中填入表名,或在 patterns 中填入表名模式,即可批量导出全量数据。

当前状态: ⏸️ 预留(未配置,暂不生效)


一键导出指定业务表的 fields 字段

字段定义导出规则,只导出指定业务表的字段定义(fields),不导出表结构 DDL 与元数据记录。

配置参数:

参数类型说明
names数组需要导出字段的业务表名列表

使用方式: 当前为预留规则。在 names 中填入业务表名后,即可只导出这些表的字段定义,适合单独同步字段配置。

当前状态: ⏸️ 预留(未配置,暂不生效)


一键导出指定业务表及其 fields 字段

集合导出规则,能力与规则一(structure-collections_export)重叠。

配置参数:

参数类型说明
names数组需要导出的业务表名列表

说明: 该导出能力已合并进 structure-collections_export 规则,为避免重复导出,本条规则留空停用,不再单独维护。

当前状态: 🚫 停用(能力已合并,可忽略)


一键导出指定数据字典类型及其层级结构

数据字典导出规则,导出各字典的枚举项、取值及父子层级关系,用于还原下拉选项、状态枚举、分类树等配置数据。

配置参数:

参数类型说明
typeCodes数组需要导出的字典类型编码列表
注意:每次导出数据字典类型时,DictCatalog必须填写在内,否则会出现没有类型的情况。
适用场景: 还原系统所有下拉选项与状态枚举;同步字典的分类层级结构。

当前状态: ✅ 启用


通过 title 自动导出菜单及关联数据

菜单导出规则,按菜单标题自动匹配,并带出该菜单的关联数据(菜单树结构、页面配置、按钮权限等),无需手动指定菜单 ID。

配置参数:

参数类型说明
filter字符串菜单筛选条件(当前为 title = '菜单1、菜单2')

适用场景: 按业务模块整体迁移菜单;同步页面入口与权限关联配置。

当前状态: ✅ 启用


一键导出指定工作流及其关联表

工作流导出规则,按工作流唯一标识导出工作流定义,并连带导出其依赖的关联表数据,保证工作流还原后可直接使用。

配置参数:

参数类型说明
workflowKeys数组工作流唯一标识列表

适用场景: 审批流 / 状态流转等配置的跨环境还原;业务流程配置随版本一起迁移。

当前状态: ✅ 启用


一键导出指定注入点及其关联表

注入点导出规则。注入点是系统提供的业务扩展挂载点(如保存前/后、审核前/后的自定义逻辑位置),本规则用于导出注入点定义及其关联表数据。

配置参数:

参数类型说明
injectIds数组注入点 UID 列表

使用方式: 需要时在 injectIds 中填入注入点 UID,即可导出对应注入点及其关联配置。如页面注入、列表列注入、详情页面注入等。

当前状态: ✅ 启用


一键导出指定注入字段的 fields 数据

注入字段导出规则,通过反向键(reverseKeys)定位并导出注入扩展字段的字段定义。

配置参数:

参数类型说明
reverseKeys数组注入字段的反向关联标识列表

适用场景: 单独同步扩展注入字段的定义配置;与注入点配套,还原扩展功能。

当前状态: ✅ 启用


导出指定表中的指定字段的 schema 以及相关规则,还原时执行增加操作

表字段规则导出规则,与全量还原不同,此规则为增量模式:仅导出所选字段的结构定义与规则,导入还原时对目标表执行**字段增加(ADD COLUMN)**操作,不影响已有字段与数据。

配置参数:

参数类型说明
tables数组(对象)指定表及其字段规则配置(当前为空)

使用方式: 当前为预留规则。在 tables 中配置目标表及其字段后,即可对存量表做安全的增量字段扩展。

适用场景: 向生产库存量表灰度扩展新字段;按版本增量下发字段变更。

当前状态: ⏸️ 预留(未配置,暂不生效)


序号规则类型功能状态
1structure-collections_export结构+元数据+字段综合导出✅ 启用
2structure纯建表语句导出✅ 启用
3full_data全量数据导出✅ 启用
4fields_export业务表字段导出⏸️ 预留
5collections_export集合导出🚫 停用(已合并)
6dict_export数据字典导出✅ 启用
7menu_export菜单导出(客户管理)✅ 启用
8workflow_export工作流导出✅ 启用
9inject_export注入点导出✅ 启用
10inject_fields_export注入字段导出✅ 启用
11table_fields_export表字段规则增量导出⏸️ 预留

  1. 全量业务迁移:使用 structure-collections_export 一次性导出 24 张核心业务表(结构+元数据+字段),配合 dict_export、menu_export、workflow_export 完成某业务模块的整体迁移;
  2. 增量字段下发:使用 table_fields_export 只导字段 schema,还原时执行增加操作,安全地为生产库存量表补字段;
  3. 配置专项同步:单独同步数据字典(dict_export)、菜单(menu_export)、审批工作流(workflow_export)或注入扩展(inject_fields_export);
  4. 选择性裁剪:所有规则均可通过置空列表(tables/names/patterns/injectIds 等),做到”需要什么导什么”。

{
"rules": [
{
"type": "structure-collections_export",
"comment": "导出指定的业务表的完整建表语句以及collections表里面的相关数据和fields字段",
"tables": [
"tab1",
"tab2"
]
},
{
"type": "structure",
"comment": "导出指定的业务表的完整建表语句-不用写",
"tables": []
},
{
"type": "full_data",
"comment": "导出指定的全量数据表和符合模式的表-暂且用不到",
"tables": [
"tab1",
"tab2"
],
"patterns": [
"tab1_20230801",
"tab2_20230801"
]
},
{
"type": "fields_export",
"comment": "一键导出指定业务表的fields字段",
"names": []
},
{
"type": "collections_export",
"comment": "一键导出指定业务表及其fields字段",
"names": []
},
{
"type": "dict_export",
"comment": "一键导出指定数据字典类型及其层级结构",
"typeCodes": [
"DictCatalog",
"TypeCode1",
"TypeCode2"
]
},
{
"type": "menu_export",
"comment": "通过title自动导出菜单及关联数据 ",
"filter": "title = '菜单1、菜单2'"
},
{
"type": "workflow_export",
"comment": "一键导出指定工作流及其关联表",
"workflowKeys": [
"key1",
"key2"
]
},
{
"type": "inject_export",
"comment": "一键导出指定注入点及其关联表(查询页面html以及层级关系)",
"injectIds": [
"inject1",
"inject2"
]
},
{
"type": "inject_fields_export",
"comment": "一键导出指定注入字段fields数据",
"reverseKeys": [
"key1",
"key2"
]
},
{
"type": "table_fields_export",
"comment": "导出指定表中的指定字段的scheam以及相关规则,还原时执行增加操作,废弃身份表",
"tables": []
}
]
}