先给结论:字段无法完整迁入时,不要按“旧系统有什么就迁什么”来决定,而要先判断该字段在新站里是否仍有明确的展示位置、录入责任人和使用场景。三者缺一,通常应改写为备注、附件或外部存档;三者都缺,直接退出迁移。只有同时满足“有稳定展示位、有人负责维护、有真实使用路径”的字段,才值得占用新结构。
旧系统字段看起来杂乱,但实际可归为三类。第一类是结构化字段,例如商品规格、文章作者、发布时间,它们有固定输入格式,能被新站模板直接调用。第二类是半结构化字段,例如一段自由填写的“备注”或“补充说明”,内容有价值但格式不统一。第三类是历史痕迹字段,例如旧版后台的操作标记、已废弃的分类编号、仅供旧程序读取的状态位。
迁移取舍的第一步不是比较字段数量,而是判断它属于哪一类。结构化字段优先保留;半结构化字段先抽样看内容分布,再决定是否拆成新字段;历史痕迹字段默认不迁,除非新站有明确业务需要。假设一个旧站有“内部评分”字段,取值是1到5,但新站前台不展示、后台也没有人再打分,那么它属于历史痕迹,退出迁移比强行保留更合理。
保留成立的前提是:新站已有对应展示位,字段值能直接映射,且后续有人持续录入。比如旧站的“作者”字段,新站文章模板同样需要署名,编辑流程中也有人负责填写,这时保留是自然选择。保留不等于原样复制,还要确认字符长度、空值规则和必填逻辑是否兼容。
改写成立的前提是:字段本身有价值,但新结构不再需要独立字段。常见做法是把多个旧字段合并成一段说明,或转成标签、附件、备注。比如旧站有“适用季节”“适用人群”“适用场景”三个短字段,新站只保留一个“适用说明”富文本,那么可以把三者拼成一段可读文字,而不是硬造三个新字段。改写的代价是失去筛选能力,如果新站未来要靠这些维度做筛选,就不应改写。
退出成立的前提是:该字段没有展示位、没有维护人、也没有查询需求。退出前要做一次可区分原因的检查:字段为空的比例高,可能是旧系统本来就没强制填写;字段有值但从未被前台调用,可能是历史遗留;字段只被旧程序读取,可能是技术耦合。这三种原因指向不同处理方式,不能只用“空值多”一个现象就判定退出。
假设旧站有1200条内容,其中约80条带有“区域编号”字段。直接全量迁移看似安全,但新站并没有按区域编号筛选的页面。此时可以先取20条做假设验证:把这20条的编号转成可读的地区名称,放入正文末尾的“地区说明”;另外20条保持编号原样,观察编辑在后台是否还需要它。这个例子中的数字只用于说明比较方法,不代表真实项目结果。
验证时要记录一个实际动作及其结果:如果编辑在改写后仍频繁回查旧编号,说明该字段有隐性使用需求,应保留为独立字段或至少保留映射表;如果改写后无人回查,说明它可以退出结构化字段,转为文本说明。这个动作会直接影响下一步:继续扩大改写范围,还是回退到保留方案。
个别样本成立,不代表全量成立。常见例外有三种:某些旧字段只在少数栏目中有值;某些字段值长度远超新字段限制;某些字段之间存在旧系统才懂的关联关系。遇到例外时,不要一边扩量一边打补丁,而应先暂停扩大迁移范围,把例外单独列出。
这里的关键边界是:不能把“样本里能迁”直接当成“全量都能迁”。样本验证只证明路径可行,不证明所有旧值都符合新规则。真正要决定的是保留项的范围,而不是追求一次迁完。
可以按以下顺序逐项判断,避免反复争论:
这套顺序的作用不是让所有字段都留下,而是让每个保留项都有明确理由。最终交付物应包含保留字段清单、改写字段清单、退出字段清单,以及每类字段的适用条件。这样即使后续有人质疑某个字段为什么没迁,也能回到展示位、维护人和使用场景这三个依据上。