结论先说:当旧字段无法完整迁入时,保留项不应按“哪个字段看起来更重要”来定,而应按“该字段是否仍影响当前用户任务、是否有可核对的替代来源、保留成本是否可被后续流程吸收”三项条件筛选。若某字段只服务于已下线业务、且没有任何页面或接口在读取它,即使历史数据很珍贵,也不应进入新站字段表,而应转入离线归档。反例是:字段本身已无前台用途,却是财务对账、合同追溯或审计留痕的唯一凭据,这时不能因为“前台看不到”就删除,必须单独保留只读数据源。
多人对同一字段产生分歧,常见原因是把三件事混在一起:字段名、字段里的事实、事实的用途。旧系统里的 user_level 可能只是历史标签,但标签背后对应的会员权益、订单折扣或售后期限,可能仍在新流程里被引用。此时要做的不是争论字段名要不要保留,而是把事实拆成可核对的条目:这个事实现在由谁使用、在哪个页面或接口出现、缺失后用户会卡在哪一步。若三个问题都答不上来,保留优先级应下降。
一个可执行动作是建立“字段去向表”,每行只写四列:旧字段名、当前读取方、替代来源、缺失后果。读取方必须填具体角色或系统名,不能写“可能有用”。替代来源可以是新字段、人工台账或第三方记录。缺失后果要写成用户可见或流程可验证的结果,例如“售后无法判断是否在保”。这张表完成后,分歧会从意见变成可核对项,下一步才能进入取舍。
条件一:该字段是否仍影响当前用户任务。影响是指用户要完成注册、下单、查询、售后、开票等动作时,系统必须读取它。若只是内部报表偶尔查看,不应进入主表,可进入归档或只读视图。
条件二:是否存在可核对的替代来源。替代来源必须能被验证,例如新系统已有同等含义字段、旧订单快照仍可查询、纸质合同可人工调取。若替代来源只是“同事记得”,不能作为删除依据。
条件三:保留成本是否可被后续流程吸收。保留一个字段不只是加一列,还涉及录入、校验、权限、导出和迁移脚本。若保留后没人维护,它会迅速变成脏数据。此时更合理的做法是保留只读快照,而不是继续写入。
假设一个旧站有“客户来源备注”字段,新站表单不再采集。若客服在处理投诉时仍需知道来源渠道,且旧订单快照可查,那么可以归档而不迁入主表。若财务按来源结算返点,且新系统没有替代字段,则必须保留并明确由谁在新流程中补录。这个例子说明:保留项不是按字段新旧决定,而是按当前任务和替代来源决定。
当产品、开发、运营对同一字段有不同理解时,不要继续开会争论。把分歧写成三条可核对记录:谁在什么场景读取、读取频率大概如何、缺失后哪一步会失败。频率不需要精确统计,可以用“每笔订单”“每月对账”“仅历史查询”这类描述。若三方对场景描述仍不一致,就选一个最小样本,例如最近若干条真实记录,逐条走一遍流程,看字段缺失后是否真的卡住。样本只用于暴露差异,不用于证明整体比例。
核对后通常会出现三类结果。第一类:字段必须迁入,并指定新流程中的维护人。第二类:字段不迁入主表,但保留只读归档,并记录查询入口由谁负责。第三类:字段可删除,但删除前要确认没有隐藏的定时任务、导出脚本或第三方接口在读取。第三类最容易被低估,因为前台页面早已不显示,后台任务却可能仍在依赖它。实际动作是搜索代码、任务配置和导出模板中的字段名,而不是只问前端开发。
上述按用户任务和替代来源筛选的方法,在一个条件下会失效:该字段是外部机构、合同或审计要求的唯一留痕,且替代来源不可补录。此时即使它不影响任何当前用户任务,也不能按普通字段处理。正确做法是把它从业务字段表中拆出,进入合规归档,并明确保留期限、访问权限和恢复方式。若把它继续留在主表里,反而会因权限过大或误修改带来风险。
另一个反例是:字段本身已无用途,但迁移成本极低且新系统已有空位。此时保留不一定错误,但必须同时指定维护责任;否则它只是把旧系统的混乱延后。判断标准不是“删了可惜”,而是“保留后谁负责让它保持可用”。
下一步不是立刻写迁移脚本,而是先输出一份保留项清单,每项标注:保留理由、替代来源、维护角色、缺失后果、复核日期。清单完成后,让最接近用户任务的角色确认一遍,再让最接近数据源的角色确认一遍。若两次确认出现冲突,冲突点就是需要继续核对的项目,而不是直接投票决定。
执行时先迁移必须保留项,再处理归档项,最后才删除确认无读取方的字段。删除动作要留出可回退窗口,并记录删除依据。这样做的结果是:后续开发不必反复猜测字段能否动,运营也能知道历史数据去哪里查。若清单中仍有字段无法归类,说明当前事实还不完整,应暂停删除,先补核对记录,再进入下一轮取舍。