先给结论:不要按“字段是否好看”决定去留,而要按“这个字段是否还支撑当前业务动作”来分层。把准备迁移的那张旧表或详情页摊开,逐字段标注三件事——现在谁在用、不用它会阻断哪一步、历史数据是否必须可查。只有同时满足“当前有人用”且“缺失会阻断业务”的字段才进入必留项;其余归入可冻结、可合并或可丢弃。下面以一份假设的旧客户资料表为例,说明怎么落到可执行方案。
面对无法完整迁入的旧字段,常见的错误是只做“保留/删除”的二元判断,结果要么全搬导致新系统臃肿,要么一刀切丢掉以后有人要用的信息。更实用的是四分类:
这个分类的价值在于:它把“迁不进去”的技术限制,转成“业务还要不要”的判断,让后续动作有依据,而不是被字段数量牵着走。
把字段对应到具体角色和动作。比如“客户来源备注”如果只有销售在首次录入时看一眼,之后无人回访,那它偏冻结;“合同到期日”如果客服每周要据此提醒续约,那就是必留。判断依据是动作,不是字段名听起来是否重要。
假设字段缺失,能不能用其他字段临时替代?如果替代成本高、容易出错,就倾向必留;如果能从订单号反推,就倾向合并或丢弃。这里要区分“不方便”和“做不了”,只有后者才够格进必留。
有些字段当前不再新增,但旧记录里的值涉及对账、售后或合规留档。这类即使不再使用,也应作为冻结字段迁入,只读保留。若历史值本身已经失真或从未被引用,就不必为它增加迁移复杂度。
假设旧系统有一张客户表,包含“手机号”“备用电话”“微信备注”“来源渠道”“首次接触时间”“内部评分”等字段,新系统只能容纳其中一部分。按上面的方法处理:
做完这一步,迁移清单会明显变短,开发方也能据此确认哪些字段需要建索引、哪些只需原样存储。动作的结果不是“省事”,而是让新系统的字段结构对应真实业务,而不是旧系统的历史堆积。
定性之后,还需要把结论转成开发能直接执行的规则,否则分类仍停留在讨论层面。建议为每个字段写一行说明,包含:旧字段名、新字段名或去向、处理方式(必留/冻结/合并/丢弃)、以及一句话理由。例如:
old_phone → new_mobile,必留,当前联系动作依赖old_backup_phone → archive_backup,冻结,仅历史查询old_wechat_note + old_source → new_source_note,合并,语义重叠old_score → 丢弃,已停用且无查询需求这份规则同时是验收依据:迁移完成后,可以逐条核对必留字段是否可用、冻结字段是否只读、合并字段是否保留来源。若某条规则在实施中被推翻,也能快速定位是哪一步判断发生了变化,而不是整体返工。
保留项不是一次定死的。出现下面两种情况时,应重新评估:一是业务动作发生变化,原本冻结的字段重新被某个流程调用,此时它应升级为必留;二是历史查询需求被确认不存在,原本冻结的字段可以降级为丢弃。反过来,如果无法确认某字段是否还有人用,宁可先冻结而不是直接删除,因为冻结的成本通常低于事后补数据。
需要提醒的是,字段迁移量下降、旧表访问减少这类现象,本身不能单独证明处理正确,也可能只是新流程还没跑到相关环节。判断依据仍应回到业务动作和历史查询需求这两条线上。把分类、规则和复核条件一起写清楚,旧系统字段无法完整迁入时,决定保留项就不再是拍脑袋,而是一套可以解释、可以验收的处理方案。