先给结论:不要按“字段数量”决定保留项,而按“这个字段是否参与当前业务闭环、是否有可替代来源、迁移后能否被验证”三条来分。能同时满足前两条的字段优先保留;只满足一条的,先改写为过渡字段;三条都不满足的,直接退出迁移范围,把资源留给可验证的部分。
淮南不少企业的旧站经历过多次改版,字段往往是在不同阶段随手加的。表面上字段越全,信息越完整;实际迁移后常见的结果是:编辑不知道哪些字段必填,前台模板因为空字段过多而出现大片空白,查询和筛选也因为脏数据失真。这时“完整迁入”不是目标,可用才是目标。
判断依据可以落到三个可核对的证据上:
这三类证据要分开看。填写率低可能是编辑习惯问题,也可能是字段本身没用;不能只凭一个数字就下结论。
适用前提是:前台确实调用、内容持续有人维护、迁移后能用同一套规则校验。比如产品规格、服务区域这类会被检索和比较的字段,通常值得保留。动作上,先为保留字段定义必填与选填,再写一条最小校验规则,例如长度上限、枚举范围或日期格式。
这个动作的结果会直接影响下一步:如果校验规则跑完旧数据后报错量很小,说明字段结构稳定,可以整体迁入;如果报错集中在少数几个值上,就先做值映射,而不是放弃字段。
常见情况是旧字段把多个含义塞在一起,比如一个“备注”里同时写了型号、批次和联系人。直接迁过去,新系统无法按其中任一维度筛选。这时应拆成独立字段,或改为结构化标签。
改写的前提是你能说清拆分规则,并且拆分后仍能回溯到原始值。假设旧数据有 200 条记录,其中 60 条的备注含可识别型号,其余无法判断——那就只对这 60 条做自动拆分,剩余部分保留原文并标记待人工确认。这样做的结果是:可筛选的数据先可用,不确定的部分不丢,但也不冒充准确数据。
退出的前提不是“字段看着没用”,而是你已经核对过调用、内容和业务三条证据,且确认没有下游依赖。退出的正确做法是先导出留档,再从新结构中移除,而不是直接删除旧库。留档的意义在于:一旦后续发现某个报表或对接还在引用它,可以按原值补回,而不必重跑迁移。
迁移后如果出现“前台内容变少”“筛选结果为零”这类反常现象,先别急着归因于迁移丢字段。至少存在三种合理解释:
区分方法很直接:先在数据库或后台确认字段与值是否存在,再检查模板是否读取,最后单独跑一次映射规则看被过滤的记录。三步各自的结果不同,指向的处理动作也不同。只看到“结果为零”就重做迁移,往往是在错误的方向上消耗时间。
对每个待处理字段,按顺序回答四个问题,答案决定它的去向:
完成这张清单后,先迁移“保留”部分并跑一次校验,用校验结果决定是否扩大范围。这个顺序的价值在于:把不可逆的整体迁移,拆成可回退的分批动作,任何一批出问题都只影响该批字段。