研发数据迁移校验规则要能直接执行,关键是把“迁移后数据对不对”拆成可逐项判断的条目:先列出校验对象,再为每类对象写明比对口径、通过标准、证据来源和责任人。下面以一次研发工作项数据迁移为演示情景,给出一份已填好的校验规则表,并逐项说明写法与调整方法。示例中的项目、字段和数值均为演示数据,不代表真实客户情况。
要点总览(TL;DR)
- 校验规则示例由校验对象、校验项、比对口径、通过标准、证据来源和责任人六部分组成,按工作项主体、字段值、状态、关联关系、附件与评论分组。
- 通过标准要写成可判定的条件,例如“差异为 0”“不存在选项之外的值”,证据来源写明具体产物名称,便于复核人按名称找到文件。
- 字段值区分必填与可空、状态保留原值对照、关联关系双向核对,是三类容易出错的规则,写法各有侧重。
- 换系统或换数据时,先定对象清单再定规则,比对口径随源系统字段结构更新,通过标准与证据来源保持分离。
- 本文只校验迁移数据内容,工作流状态机、插件行为与切换判断需另设验证环节;表中数值均为演示数据。
示例目标:这份校验规则要解决什么问题
示例设定为一次研发工作项数据迁移:源系统中有需求、任务、缺陷三类工作项,迁移到目标系统后需要确认数据内容是否完整、字段是否可读、关系是否可追溯。校验规则围绕这三项内容目标编写,用于迁移执行后的数据内容核对,不评价迁移工具本身的表现。
三项校验目标对应不同的判断方式。内容完整看对象数量和必填字段是否齐全;字段可读看值是否落在目标系统可接受的类型、长度和选项范围内;关系可追溯看工作项之间的父子、关联、归属关系在迁移后是否仍能按原路径找到。每项目标都要落到具体规则行,避免只写“数据完整”这类无法判定的表述。
本示例的校验范围限定为迁移数据内容,包括工作项主体、字段值、状态值、关联关系、附件与评论。以下内容不在本文规则覆盖范围内:工作流状态机的配置是否正确、插件与自动化行为是否按预期触发、迁移完成后的整体验证与切换决策。这些环节需要单独的验证方案,与数据内容校验分开组织,避免把配置问题和数据问题混在同一张表里判断。
完整示例:一份填好的研发数据迁移校验规则表
下表按校验对象分组,共 12 条规则。每条规则包含校验项、比对口径、通过标准、证据来源和责任人,可直接作为填写模板参照。表中数量、字段名和数值均为演示数据。
| 序号 | 校验对象 | 校验项 | 比对口径 | 通过标准 | 证据来源 | 责任人 |
|---|---|---|---|---|---|---|
| 1 | 工作项主体 | 对象数量一致性 | 按工作项类型分别统计源系统与目标系统的记录数 | 需求、任务、缺陷三类记录数分别与源系统一致,差异为 0 | 源系统导出清单、目标系统查询结果 | 迁移执行人 |
| 2 | 工作项主体 | 唯一标识可追溯 | 用源系统编号在目标系统逐条检索 | 每条源记录都能在目标系统找到对应记录,且对应关系记录在映射表中 | 编号映射表、抽样检索截图 | 迁移执行人 |
| 3 | 字段值 | 必填字段非空 | 对目标系统必填字段逐条检查是否为空 | 必填字段空值数为 0 | 目标系统字段空值统计 | 数据负责人 |
| 4 | 字段值 | 可空字段保留原值 | 抽取源系统中该字段有值的记录,与目标系统逐条比对 | 抽样记录中字段值一致;源系统为空时目标系统也为空 | 抽样比对表 | 数据负责人 |
| 5 | 字段值 | 枚举值落在目标选项内 | 统计目标系统该字段的去重值,与目标系统选项列表比对 | 不存在选项列表之外的值 | 去重值清单、选项配置说明 | 数据负责人 |
| 6 | 字段值 | 日期与数值格式可读 | 检查日期字段能否正常排序、数值字段能否参与计算 | 抽样记录中日期与数值显示正确,无异常字符 | 目标系统列表视图截图 | 迁移执行人 |
| 7 | 状态 | 状态值映射正确 | 按状态映射表逐项对照源状态与目标状态 | 每个源状态都映射到约定目标状态,映射表覆盖全部源状态值 | 状态映射表、状态分布统计 | 数据负责人 |
| 8 | 状态 | 原状态可查 | 在目标系统查看迁移记录的原始状态信息 | 抽样记录能查到迁移前的状态值 | 字段对照说明、抽样记录 | 数据负责人 |
| 9 | 关联关系 | 父子关系双向核对 | 从父工作项查子项、从子工作项查父项,两个方向分别比对 | 两个方向的查询结果与源系统一致,缺失数为 0 | 关系比对清单 | 迁移执行人 |
| 10 | 关联关系 | 关联与归属关系完整 | 按关联类型统计源系统与目标系统的关系数量 | 各关联类型的关系统计数与源系统一致 | 关系数量统计表 | 迁移执行人 |
| 11 | 附件与评论 | 附件可下载且数量一致 | 统计每条工作项的附件数量,并抽样下载打开 | 附件数量与源系统一致,抽样附件可正常打开 | 附件清单、抽样打开记录 | 迁移执行人 |
| 12 | 附件与评论 | 评论内容与作者保留 | 抽样比对评论正文、评论人和评论时间 | 抽样评论的正文、作者、时间与源系统一致 | 评论抽样比对表 | 数据负责人 |
表格填写时有两点约定:通过标准一律写成可判定的条件,例如“差异为 0”“不存在选项之外的值”,避免“基本一致”“大致正确”这类无法复核的表述;证据来源写明具体产物名称,便于复核人按名称找到对应文件。责任人按角色填写,同一角色可以负责多条规则,但每条规则只对应一个责任人。
规则落地时,校验对象需要在实际系统中有稳定的承载位置。以 ONES 为例,工作项的类型、字段值、状态和关联关系都在工作项上呈现,迁移后可以按类型筛选统计记录数、按字段查看空值与选项分布、沿父子与关联关系逐层查看,附件和评论随工作项保留。这些承载方式便于把上表的规则对应到具体查询动作,校验人按规则逐条取数即可。
逐项解释:每条规则为什么这样写
字段值校验区分必填与可空,是因为两类字段的判断方式不同。必填字段的通过标准是空值为 0,属于全量检查,成本低且结论明确;可空字段允许为空,校验重点变成“有值的是否保留、为空的是否仍为空”,适合抽样比对。如果把可空字段也按非空标准检查,会把正常的空值判成错误;如果只抽查必填字段,又可能漏掉整批记录的空值问题。
状态校验保留原值对照,目的是让映射结果可以回溯。状态从源系统迁移到目标系统时,往往需要按映射表转换,例如源系统的多个中间状态合并为目标系统的一个状态。只检查目标状态是否合法,无法判断转换是否符合约定;保留原状态信息后,复核人可以按映射表逐项对照,发现映射遗漏时也能定位到具体记录。规则 7 检查映射覆盖是否完整,规则 8 检查原值是否可查,两条规则配合使用。
关联关系采用双向核对,是因为单向查询只能证明一个方向的关系存在。从父工作项能查到子项,不代表从子工作项能查回父项;迁移过程中关系字段的写入方向不同,可能出现一侧成功、另一侧缺失的情况。双向核对的做法是先按父项查子项、再按子项查父项,两个方向的缺失数都为 0 才算通过。关联与归属关系按类型统计数量,用于发现整类关系丢失的问题。
附件与评论的证据留存方式与字段校验不同。附件无法逐字节比对全部内容,实际做法是数量全量核对、内容抽样打开,证据保留附件清单和抽样打开记录;评论则抽样比对正文、作者和时间三项,证据保留抽样比对表。两类对象的共同点是证据要能指向具体工作项,复核时可以直接回到原记录查看。
通过标准写成可判定条件,是整张表能否执行的基础。“差异为 0”“不存在选项之外的值”“抽样记录一致”都给出了明确的判断边界和检查范围,复核人不需要再解释标准含义。容易出错的地方是把检查范围写进标准却漏掉抽样比例,例如只写“抽样一致”而没有说明抽多少条,复核时就无法判断结论是否成立。
可迁移规律:换一套系统时怎么改这份示例
换一套系统或换一批数据时,先定对象清单再定规则。对象清单来自本次迁移实际涉及的数据,例如只迁移需求和缺陷、不迁移任务时,规则表中任务相关的行应删除,而不是保留后标注“不适用”。对象清单确定后,再为每类对象分配校验项,保证每类对象至少有一条数量类规则和一条内容类规则。
比对口径随源系统字段结构变化。源系统的字段名、枚举选项、状态数量不同,比对口径就要跟着调整:字段名变化时,映射关系写入编号映射表;枚举选项增减时,规则 5 的选项列表按目标系统实际配置更新;状态数量不同时,状态映射表需要重新编制并确认覆盖全部源状态值。通过标准与证据来源保持分离,标准回答“怎样算通过”,证据回答“用什么证明”,更换系统时通常只需改标准和证据的具体内容,规则结构可以沿用。
责任人与复核时点提前约定。迁移执行人负责取数和比对,数据负责人负责确认字段与状态口径,复核时点安排在数据写入目标系统之后、切换判断之前。规则数量与迁移规模匹配:记录量小、字段少时可以合并同类规则;记录量大、关联复杂时,数量类规则按类型拆分,抽样规则写明抽样数量和抽样方法。
- 列出本次迁移的数据对象,删除不涉及的对象行。
- 按目标系统字段结构更新比对口径和选项列表。
- 重新编制状态映射表,确认覆盖全部源状态值。
- 为每条规则指定责任人和证据产物名称。
- 按迁移规模调整规则数量与抽样范围,形成本次迁移的规则表。
适用边界:哪些情况需要另设规则
本文规则只校验迁移数据内容。工作流状态机的配置、插件与自动化行为是否按预期触发,属于配置与行为验证,需要另设检查项,例如按典型流转路径逐条走查、核对触发条件与通知对象。把这类检查混入数据校验表,会让通过标准难以判定,也会掩盖真正的数据问题。
迁移结果的整体核验与切换判断另设环节。数据内容校验通过,只说明迁移后的数据与源数据在约定口径下一致;系统能否切换还涉及功能可用性、权限配置、性能表现和使用培训等条件,需要单独组织验证并形成切换结论。本文的规则表可以作为整体核验的输入之一,不替代整体核验。
历史数据缺失或口径不一致时,按以下原则处理:源系统中本就为空的字段,目标系统保持为空并记录在案,不计为迁移错误;源系统同一字段存在多种写法时,先确定统一口径再比对,口径确认记录作为证据留存;无法确认原值的记录单独列出,由数据负责人判断处理方式,不直接判为通过或失败。
最后需要说明,本文表格中的项目名称、字段名、记录数量和抽样结果均为演示情景,用于说明规则写法,不代表任何真实客户的数据或迁移结果。实际使用时,应按本次迁移的对象清单、字段结构和映射表重新填写,并以填写后的规则表作为校验依据。
常见问题
迁移记录量很大时,校验规则要不要全部改成抽样?
不必全部改抽样。数量类规则适合全量统计,例如按工作项类型统计记录数、按关联类型统计关系数量,这类检查成本低且结论明确。内容类规则可以抽样,但要在通过标准中写明抽样数量和抽样方法,例如“随机抽取 30 条比对字段值,一致率 100%”。必填字段空值检查通常仍可全量执行,因为按字段统计空值数即可完成。
源系统字段在目标系统没有对应字段,校验规则怎么处理?
先确认该字段是否属于本次迁移范围。属于迁移范围但目标系统没有对应字段时,需要在映射表中记录处理方式,例如合并到备注字段、保留在附件清单或明确放弃迁移,并由数据负责人确认。校验规则相应改为检查处理方式是否落实,例如“合并到备注的字段值可在备注中检索到”。不属于迁移范围的字段,从规则表中删除,不保留“不适用”行。
数据内容校验通过后,能否直接进入系统切换?
不能直接切换。数据内容校验只说明迁移后的数据与源数据在约定口径下一致,系统能否切换还涉及功能可用性、权限配置、性能表现和使用培训等条件。建议把本文规则表作为整体核验的输入之一,另行组织功能走查、权限核对和切换演练,形成独立的切换结论后再执行切换。
源系统中同一状态有多种写法,迁移后如何校验?
先在迁移前确定统一口径,把多种写法归并到状态映射表中,并确认映射表覆盖全部源状态值。校验时按映射表逐项对照,规则 7 检查映射覆盖是否完整,规则 8 检查原状态是否可查。口径确认记录作为证据留存;无法确认原值的记录单独列出,由数据负责人判断处理方式,不直接判为通过或失败。
校验规则表由谁维护,多久更新一次?
规则表随迁移任务维护,由迁移执行人负责取数和比对,数据负责人负责确认字段与状态口径。更新时机主要有三个:对象清单变化时增删规则行;目标系统字段结构或选项配置调整时更新比对口径;迁移规模变化时调整规则数量与抽样范围。每次更新后保留版本记录,作为复核依据。
