决定保留项的核心不是“字段能不能搬”,而是“这个字段离开旧系统后还有没有可靠来源、有没有人负责、有没有下游用途”。三者缺一,通常应当放弃或改写;三者齐备,才值得为它设计映射、补录或人工兜底。下面按可核对的证据给出判断顺序。
字段迁不进去,常见原因有三种,混在一起讨论会得出错误结论。
判断方法很直接:随机抽取一批旧记录,统计该字段的填充率、取值种类数,以及最近一次被写入的时间。填充率高但取值几乎全相同,往往属于语义失效;填充率低但取值分散,往往是结构不兼容加人工录入习惯问题;填充率高、取值分散、但找不到写入来源,才需要重点评估来源消失的风险。
一个常见反直觉现象是:字段数据量很大,却并不值得保留;某个字段只有几十条记录,却必须迁移。原因在于决定权不在旧系统,而在下游。
具体做法是列出该字段的所有消费方:前台页面是否展示、列表筛选是否用到、导出报表是否包含、是否有外部系统按该字段取值、是否有编辑人员日常依赖它检索。只要存在一个仍在运行的下游引用,字段就不能静默丢弃,否则会表现为页面空白、筛选失效或对账差异。
反过来,如果一个字段只出现在旧后台的编辑界面,没有任何前台展示、筛选、导出或外部调用,那么它的数据量再大也只是历史沉淀。此时可以保留为只读归档字段,或直接不迁入,但要在迁移记录里写明去向,便于日后追溯。
实际动作示例:先做一张字段清单,每行记录字段名、填充率、取值种类、最近写入时间、下游引用方。填完这张表后,多数争议字段会自动分层,剩下的才是真正需要人工判断的部分。这一步的产出会直接决定后续是走自动映射、脚本改写,还是安排人工补录。
三种取舍不是并列选项,而是有先后顺序的判断结果。
适用前提:新系统存在语义等价的字段类型;旧值可以无损转换;有明确的下游引用;且迁移后仍有人或流程负责维护。四个条件同时满足,才建议原样保留并建立映射规则。如果只是前三个满足,第四个不满足,保留下来会逐渐变成脏数据。
适用前提:旧字段承载的信息有价值,但形态不适合新结构。典型情况是把一个自由文本字段拆成“类型 + 备注”,或把多值串拆成关联记录。改写需要先确认拆解规则能覆盖绝大多数记录,并且拆错的记录可以被识别出来。假设旧字段中约八成记录格式统一、两成混杂,可以先把统一部分自动改写,把混杂部分单独导出人工处理,而不是为了迁就少数记录放弃整个字段。
适用前提:字段语义已失效,或没有下游引用,或维护责任无法落实。退出的正确做法不是删除,而是在迁移文档中记录字段名、原用途、退出原因和最后一批数据的存放位置。这样做的价值在于,当日后有人问起某个旧功能为何消失时,能查到依据,而不是重新翻旧库。
在正式迁移前,选一批有代表性的旧记录做试迁,覆盖填充率最高、最低和取值最分散的几种情况。试迁后逐项核对:目标字段是否为空、值是否被截断、关联关系是否丢失、下游页面是否仍能正常展示和筛选。
试迁结果会改变下一步:如果改写规则在样本上错误率明显偏高,说明规则需要调整或改为人工;如果某些字段在试迁后大量为空,说明来源问题比结构问题更严重,应当优先确认写入途径是否存在,而不是继续优化映射脚本。这一步的意义在于把“字段能不能迁”从讨论变成可观察的证据。
无论最终保留还是退出,都建议记录以下内容,方便日后复核:
把这几项写清楚之后,字段取舍就不再依赖个人记忆,而是有一套可以被复查的依据,后续新增字段或再次迁移时也能沿用同一套判断顺序。