先给结论:决定保留哪些字段,不取决于字段在旧系统里存在多久,而取决于它在迁移后是否仍被业务流程、对外展示或统计口径真实使用。把每个字段按“必须保留、可合并、可舍弃”三类处理,并让业务、编辑、技术三方对同一字段给出可核对的判断依据,比直接按旧表结构照搬更可靠。
旧系统里字段多,往往是因为不同阶段的需求层层叠加。迁移前应逐个字段回答三个问题:它是否被当前页面读取?是否被后台筛选或导出使用?是否有外部接口依赖它?只要有一个答案为“是”,就进入保留候选;三个都为“否”,才进入舍弃候选。
这里最容易出现分歧:技术看到的是数据库列,编辑看到的是填写框,业务看到的是报表列,三者对“这个字段还有没有用”的理解可能完全不同。解决办法不是开会争论,而是把分歧转成可以核对的项目,例如列出字段名、当前读取位置、最近一次被使用的证据来源、迁移后由谁负责确认。
这类字段应优先保留,但保留方式可以调整。若旧字段只是把多个值拼在一个文本里,迁移时可以拆成独立字段,前提是拆分规则明确、历史数据能对应上。若字段只在少数页面出现,也可以先保留原始值,再在新系统中逐步建立结构化字段,避免一次性改造带来数据丢失。
实施动作上,可以先做一份字段映射表:旧字段名、新字段名、转换规则、缺失时的默认值、负责人。映射表完成后,用一小批真实数据试跑,检查前台展示和后台筛选是否一致。如果试跑发现某个字段在转换后无法还原,就应把它从“可舍弃”调回“必须保留”。
这类字段可以舍弃,但舍弃前要确认它没有被隐藏依赖。常见隐藏依赖包括:旧报表仍在引用、某些历史页面仍在展示、外部合作方按固定格式读取。确认方式不是凭印象,而是查读取日志、查页面调用、查导出任务。若确实没有依赖,可以归档原始数据后再移除字段,而不是直接删除。
归档的意义在于:迁移后若发现遗漏,还能从归档中补回,而不是只能回滚整个迁移。归档时应保留字段名、原始值和迁移时间,方便后续核对。
当多个角色对同一字段有不同理解时,可以要求每个角色分别写下:这个字段在什么场景下被谁使用、如果不保留会影响到哪一步、影响是否可接受。写完后对照,通常会发现分歧集中在少数字段上,而不是全部字段。
把这三类关注点分别落到字段上,就能得到一张可核对的保留清单。清单确认后,再进入迁移实施,而不是边迁边改。
假设旧系统有一个“备注”字段,里面同时存放了联系电话和内部说明。迁移时若直接照搬,新系统前台可能把内部说明也展示出来。此时可以选择拆分:联系电话进入独立字段,内部说明进入仅后台可见字段。拆分后要检查前台是否只读取联系电话字段,后台是否仍能查到内部说明。若拆分规则无法覆盖全部历史数据,就应保留原始备注字段作为只读备份,直到确认不再需要。
如果旧系统即将下线、无法继续读取,保留项应优先覆盖对外展示和法定留存要求,其余字段可先归档。若迁移时间极紧,可以先保留全部字段,再在迁移后按使用证据逐步清理,但这样会增加新系统的维护负担。选择哪种方式,取决于业务能否接受短期冗余,以及后续是否有明确清理责任人。
无论选哪种方式,迁移完成后都应用真实数据核对一遍:前台页面是否正常显示、后台筛选是否返回预期结果、导出文件是否与旧系统口径一致。核对通过后,再决定是否移除临时保留字段;核对不通过,则先修正映射规则,而不是继续删字段。