研发数据迁移与映射具体怎么做:字段映射与试迁移指南

研发数据迁移与映射的核心,是把源系统的对象、字段和取值逐层对齐到目标系统,再用小范围试迁移验证映射是否正确,确认后再扩大范围。具体分五步:划定来源、目标与迁移范围;盘点源数据对象与字段;建立字段映射表并处理四类差异;用样本试迁移逐条核对;按核对结果修正映射,并约定暂停与回退条件。以下按这五步展开,重点给出可直接使用的表格结构和核验口径。



要点总览(TL;DR)


  • 研发数据迁移与映射分五步:划定来源、目标与对象范围;盘点源字段与目标字段;建立字段映射表并处理四类差异;用样本试迁移逐条核对;按结果修正映射并约定暂停与回退条件。
  • 字段映射表按“源对象—源字段—源类型—目标对象—目标字段—目标类型—转换规则—是否必填—责任人”建列,每个字段归入同名同义、同名异义、异名同义、无法对应四类,分别处理。
  • 同名异义是最容易出错的一类,应先按业务含义重新定义目标字段,再决定拆分、合并或改名;枚举值与状态值另建字典映射,并明确默认值与空值策略。
  • 试迁移样本要覆盖各对象类型和边界情况,失败条目按原因分类后回改映射表,用同一批样本重跑,确认原失败项全部通过再扩大范围。
  • 核验从数量、字段、关联、附件与评论四类留证,标明抽样比例与结论;关键字段无法映射、关联大面积错位或失败率超过预设阈值时暂停并回退。


先划清来源、目标与迁移范围


动手建映射表之前,先把迁移的边界写清楚。这一步的产物是一份来源—目标—对象范围清单,后续所有字段盘点、样本选取和核验都以它为准。范围没定就开工,最常见的后果是映射表越建越大、试迁移反复重来。


清单至少写明四件事:来源系统与目标系统分别是什么、各自版本;哪些对象纳入迁移、哪些排除;迁移方向;以及本文不覆盖的内容。


清单项 要写清的内容 示例写法
来源系统 系统名称、版本、部署方式 旧研发管理平台,版本号以实际环境为准
目标系统 系统名称、版本、项目空间 新平台,指定项目与空间
纳入对象 工作项、需求、缺陷、迭代、版本、附件、评论、用户与组织 逐项打勾,注明条数
排除对象 历史归档项目、测试环境数据、已废弃字段 写明排除理由
迁移方向 以来源为准,单向写入目标 目标系统在迁移期间不产生新数据

迁移方向必须固定为单向:以来源数据为准写入目标,迁移窗口内目标系统停止录入新数据,否则试迁移核对时无法区分哪些差异来自映射错误、哪些来自并行写入。若业务不能停录,需要单独约定增量数据的处理方式,并把它写进范围清单。


流程与插件行为的迁移、迁移后的结果核验与切换管理,属于相邻阶段的工作,本文只在映射与试迁移范围内讨论。把它们混进来,会让字段映射表承担它无法承载的判断。



迁移前需要准备哪些输入


映射工作卡住,多数时候不是方法问题,而是输入不全。开工前按下表逐项确认,缺项记入缺口记录表,标明责任人和补齐时间,避免试迁移跑到一半才发现枚举字典没有。


输入项 用途 缺失时的后果
源系统可导出的数据范围与导出方式 确定能拿到哪些对象和字段 映射表建了但数据取不到
目标系统的对象模型与字段清单 确定字段能落到哪里 出现无处安放的字段
字段类型、必填约束、枚举值字典 确定转换规则和默认值 导入批量报错
用户与组织对应关系 映射账号、角色、负责人 负责人字段为空或错挂
附件与富文本的存储与大小限制 判断是否需要分批或转存 附件丢失或导入中断
迁移窗口与可接受停机时间 安排试迁移与正式迁移节奏 试迁移与业务写入冲突

其中枚举值字典和用户对应关系最容易被低估。状态、优先级、问题类型这类字段在源系统里往往有大量历史取值,目标系统的可选值有限,必须提前拿到两边的完整取值列表才能建字典映射。用户对应关系则要覆盖离职账号、共享账号和外部协作账号,这几类账号在目标系统里通常没有直接对应人。



字段映射表怎么建:四类差异逐项处理


字段映射表是整个迁移工作的主文档。建议按以下列结构建立,一行对应一个源字段到目标字段的对应关系,逐行填写转换规则和责任人:


源对象 源字段 源类型 目标对象 目标字段 目标类型 转换规则 是否必填 责任人
缺陷 严重程度 枚举 缺陷 优先级 枚举 按字典映射,未命中取默认值 是 张三
需求 负责人 用户 需求 经办人 用户 按账号对应表转换,离职账号转交项目负责人 是 李四

建表时把每个字段归入以下四类之一,处理规则各不相同:


  • 同名同义:字段名和业务含义都一致,直接对应,转换规则写“直传”。这类字段处理最快,但仍要核对类型是否兼容,例如源系统是文本、目标系统是枚举,就不能直传。
  • 同名异义:字段名相同但业务含义不同,这是最容易出错的一类。处理时先按业务含义重新定义目标字段,再决定拆分、合并或改名。例如两边都有“状态”字段,源系统的状态包含测试环节,目标系统的状态只到开发完成,就需要把源状态拆成状态加阶段两个字段,或把测试环节的状态映射到目标系统的独立字段。仅凭字段名相同就直传,会把业务语义悄悄改掉。
  • 异名同义:名称不同但含义一致,按语义对齐,并在转换规则里记录别名来源,方便后续复核时解释为什么这两个字段被对应起来。
  • 无法对应:目标系统没有承载位置。三种处理方式:直接丢弃并记录丢弃清单;落到备注或描述字段,保留原文;标记为人工补录,指定补录责任人和完成时间。三种方式都要在表里写明,不能留空。

枚举值与状态值需要单独维护一张字典映射表,逐值列出源取值、目标取值、是否默认值。空值处理也要明确:源字段为空时,目标字段是留空、取默认值还是触发人工补录,三种策略对核验结果影响很大,必须提前统一。时间戳字段要确认时区口径,关联字段(负责人、报告人、关联需求、所属迭代)要写明找不到对应对象时的降级规则。


如果目标平台是 ONES,其 Jira 迁移方案覆盖项目、工作项、状态、字段、流程、附件和历史记录,问题数据迁移包括属性和属性值、附件、评论等信息,项目与系统配置(问题类型、工作流、字段配置、权限配置)以及用户、用户组也在迁移范围内。这些范围说明可以帮助判断哪些字段有承载位置,具体字段如何配置仍以实际方案确认为准。



试迁移怎么做:小样本跑通再放大


映射表填完不等于映射正确。试迁移的作用是用少量真实数据验证映射表,把纸面上的对应关系变成可核对的导入结果。操作顺序如下:


  1. 选样本集:覆盖每一种纳入迁移的对象类型,并刻意包含边界情况——字段为空的记录、枚举值取到历史冷门值的记录、附件较大的记录、评论较多的记录、关联关系复杂的记录、负责人已离职的记录。样本量以能覆盖这些情况为准,不必追求数量。
  2. 按映射表执行一次小批量导入:严格按表里的转换规则操作,不临时手工调整,否则验证的就不是映射表本身。
  3. 逐条比对:对每条样本记录,比对源与目标的对象数量、每个字段的值、关联关系是否成立、附件能否打开、评论是否完整。
  4. 记录失败条目:每条失败记录写明对象、字段、失败现象,并按原因分类,例如类型不兼容、枚举未命中、必填为空、关联对象缺失、附件超限。
  5. 回改映射表并重跑:按失败原因分类修改映射表,修改后在表里保留版本记录,然后用同一批样本重跑,确认原失败项全部通过。

试迁移记录建议与映射表分开维护,一条失败记录对应一个映射表行号,这样修正时能直接定位。重跑时不要更换样本集,否则无法判断是映射改对了还是样本变简单了。



核验与证据:怎么判断映射是对的


核验要回答的问题只有一个:目标系统里的数据,是否与来源系统在业务含义上一致。判断依据分四类,每类都要留下记录,标明抽样比例和结论。


核验类型 核验方法 重点观察 记录内容
数量核验 各对象迁移前后条数对比 差额是否能用排除项解释 对象、源条数、目标条数、差额原因
字段核验 抽样逐字段比对 枚举、日期、关联字段 抽样比例、不一致字段清单
关联核验 检查父子关系、需求与缺陷关联、迭代归属 关联是否指向正确对象 抽查条数、错位条数
附件与评论 抽查打开附件、通读评论 内容完整、顺序正确 抽查数量、异常描述

数量核验的差额必须有解释,不能只写“基本一致”。字段核验的抽样要覆盖四类映射差异,尤其是同名异义和无法对应的字段,这两类最容易在核验时被放过。关联核验关注的是指向是否正确,而不只是关联是否存在——一条缺陷挂到了错误的迭代下,数量上完全看不出来。核验记录作为正式迁移决策的证据留存,写明执行人、执行时间和结论,后续扩大范围时以这份记录为基线。



什么情况下暂停或回退


试迁移阶段发现以下情况,应暂停扩大范围,先处理映射问题:


  • 关键字段无法映射且无业务替代方案:例如目标系统没有承载某个核心业务属性的位置,也没有合适的备注字段或人工补录流程,继续迁移会造成业务信息缺失。
  • 关联关系大面积错位:抽查中关联指向错误的比例明显偏高,说明关联字段的映射规则有系统性问题,应回退到映射表修正,而不是逐条手工修补。
  • 试迁移失败率超过预设阈值:阈值在试迁移前就要定好并写进记录,例如失败条目占比超过约定比例即停止放大。阈值本身没有通用标准,按对象重要性和业务容忍度确定。

回退动作按顺序执行:清理已导入的样本数据,确认目标系统回到试迁移前的状态;恢复映射表到上一个通过核验的版本,保留失败版本的修改记录用于分析;重新确认迁移范围,判断是否需要把问题对象移出本次范围或拆成后续批次。回退完成后重新走一遍试迁移,通过核验再进入扩大范围阶段。


ONES 在迁移建议中提出,正式迁移前应确认数据范围、功能匹配和系统适配,并把迁移工具、原厂服务和分阶段切换结合起来。这与本文的暂停与回退思路一致:先用小范围验证映射,确认无误后再分阶段推进,把风险控制在可回退的范围内。



常见问题


源系统里有些历史字段在目标系统找不到承载位置,只能丢弃吗?


不一定丢弃,先判断这个字段承载的业务信息是否仍被使用。处理方式有三种:直接丢弃并记录丢弃清单,适用于已废弃或纯统计用途的字段;落到备注或描述字段保留原文,适用于信息量不大但需要留痕的字段;标记为人工补录,指定责任人和完成时间,适用于核心业务属性。三种方式都要写进映射表,不能留空。如果该字段属于关键业务属性且三种方式都无法承载,就应触发暂停条件,先与业务方确认替代方案。


迁移窗口内目标系统不能停录,映射核对怎么做?


停录的目的是让试迁移核对时能区分差异来源。如果业务确实不能停录,需要单独约定增量数据的处理方式并写进范围清单,常见做法是先冻结试迁移涉及的项目或对象范围,其他项目照常使用;或者记录试迁移开始时间点,核对时只比对时间点之前的数据,之后新增的数据单独标记。无论采用哪种方式,都要在试迁移记录里写明,否则核验时无法解释数量差额。


试迁移失败率阈值定多少合适?


没有通用标准,按对象重要性和业务容忍度确定,并在试迁移前写进记录。可以按对象类型分别设阈值:核心对象如需求、缺陷的失败条目占比要求更严,辅助对象可以放宽。阈值的作用是给出明确的停止信号,避免带着系统性映射问题继续放大范围。阈值一旦确定,试迁移过程中不因结果不理想而临时调整。


用户和负责人字段迁移后大量为空,通常是什么原因?


常见原因有三类:源系统的离职账号、共享账号和外部协作账号在目标系统没有直接对应人;账号对应表只覆盖了在职人员,没有定义降级规则;导入时用户尚未在目标系统创建。处理办法是在映射表里为用户类字段写明降级规则,例如离职账号转交项目负责人、共享账号指定归属人,并在试迁移样本中刻意包含这几类账号,提前暴露问题。


如果目标平台是 ONES,迁移范围大概包括哪些内容?


根据 ONES 公开的迁移方案说明,从 Jira 迁移到 ONES Project 时,迁移范围包括项目与系统配置(问题类型、工作流、字段配置、权限配置)、问题数据(属性和属性值、附件、评论)、用户与用户组;Confluence 内容迁移到 ONES Wiki 支持页面正文、附件、图片、常用宏及批注。这些范围说明可以帮助判断字段是否有承载位置,具体字段如何配置、支持哪些源系统版本,仍需以实际方案确认。