结论先说:当旧系统字段无法完整迁入时,保留项应当按“前台是否仍在被真实访问、后台是否仍有人据此做业务动作、字段是否还能从其他数据推导出来”三层顺序决定,而不是按字段在旧库里出现的时间或数量决定。这个判断成立的前提是你能拿到旧系统的访问日志或表单提交记录;如果拿不到,任何保留清单都只是猜测,需要先补数据再决定。
旧系统里字段多、命名混乱时,最容易犯的错是把“看起来正式”的字段留下,把“看起来像备注”的字段删掉。更可靠的做法是回到前台:这个字段是否出现在仍被访问的页面、是否被提交到表单、是否被导出给业务人员使用。假设一个旧站的产品表里有“规格补充”和“包装说明”两个文本字段,导出的页面访问记录显示前者在过去半年仍有页面引用,后者只在后台列表里显示、没有任何前台调用,那么优先保留前者、把后者标记为待确认,比两个都先迁过去更省事。
这一步的实际动作是:从旧系统的访问日志或页面模板里筛出仍在引用的字段,形成一份“前台活跃字段清单”。结果会直接影响下一步——只有进入这份清单的字段,才值得为它设计新结构;没进入的字段,先不要占用新库的字段位。
有些字段前台不展示,但后台每天都在用,比如客服备注、审核状态、内部编号。判断方法不是问“这个字段重不重要”,而是问“如果它没了,哪一步业务会卡住”。可以按下面三类处理:
这里有一个反直觉的地方:字段数量多,不代表迁移工作量大;真正拖慢进度的是那些“有人用但没人说得清用途”的字段。遇到这类字段,先保留原始值并以只读方式存放,比强行合并或删除更安全,因为一旦业务方后来提出需要,你还有原始数据可查。
如果旧系统的字段虽然前台不再引用、后台也没人主动使用,但它被外部接口或第三方系统按固定格式读取,那么“前台不活跃就删”的判断就会失效。例如某个旧字段是合作方对账接口的必填项,即使站内已经不用,删除后仍可能导致对账失败。识别这类字段的办法是查接口文档、导出记录和外部调用日志,而不是只看站内页面。只要存在一个仍在运行的外部依赖,该字段就应进入保留项,并单独标注依赖来源。
把上面的判断压缩成可执行顺序,能减少反复讨论:
完成映射后,先在一个测试环境里用少量真实数据跑一遍导入,核对字段值是否完整、格式是否被截断。如果导入结果与旧系统查询结果不一致,先回到映射表修正,而不是直接改新系统结构。这个动作的结果会决定你是继续扩大导入范围,还是先处理字段类型和长度问题。
保留项确定后,下一步不是马上全量迁移,而是先冻结字段清单并通知相关业务方确认。确认后的清单作为迁移脚本和验收项的依据;如果业务方在确认后又提出新增字段,应作为变更单独评估,而不是直接插进当前迁移批次。这样做的原因是,字段范围一旦在迁移中途扩大,之前验证过的映射关系可能失效,返工成本会高于一开始多花时间确认。
最后提醒一点:迁移完成不等于字段问题结束。新系统上线后,仍应保留一段时间的旧数据只读入口,用于核对历史记录;等到业务方确认不再需要回查,再决定是否下线旧入口。