先给结论:决定保留项的依据不是字段在新系统里能不能建出来,而是这个字段是否仍在支撑一个明确的对外页面、业务流程或检索入口。假设你正在把旧站迁到新系统,旧库里有 120 个字段,新系统只支持其中一部分,且批量导入后仍有一批字段空着或错位。此时应先把字段按“有页面消费、有流程消费、仅历史存档”三类拆开,再决定保留、转换还是放弃,而不是按字段数量或新旧顺序做取舍。
字段本身没有价值,价值来自谁在读取它。判断一个字段是否值得保留,可以先问三个问题:前台是否有页面直接渲染它;后台是否有编辑或审核流程依赖它;站内搜索、筛选或列表排序是否引用它。三个问题里只要有一个答案是肯定的,这个字段就应进入保留候选,再讨论用什么形式迁移。
反过来,如果三个问题都是否定的,字段通常只是旧系统历史遗留的存档信息。它可能仍有合规或对账用途,但不必进入新站的前台数据结构。此时更合理的动作是把原始数据导出留存,而不是强行在新系统里复刻一个无人读取的字段。
这里有一个容易被忽略的遗漏条件:很多团队只检查了前台模板,没有检查后台流程和站内检索。一个字段可能不在页面上出现,却被编辑用来判断内容状态,或被筛选逻辑用来分组。漏掉这一步,迁完之后才会发现运营动作做不下去。
下面是一个明确标注为假设的例子,只用于说明比较方法,不代表任何真实项目结果。
假设旧站有 120 个字段,新系统结构化字段上限是 60 个。团队先按消费方分类:
第一轮结论是保留 47 个,放弃 73 个。但继续检查站内检索后发现,旧分类码仍被两个筛选入口引用,于是它从“存档”移回“流程消费”,保留项变成 48 个。这个调整说明:分类结果不是一次定死的,检索入口是必须单独核对的一层。
接下来对这 48 个字段再分处理方式:能直接映射的保持原值;语义相同但格式不同的做转换,例如把旧的多选值拆成新系统的标签;只在一个页面出现、且该页面即将下线的字段,暂缓迁移并记录下线时间。这个动作的结果会直接影响下一步:只有完成映射和转换清单,才能开始写导入脚本,否则脚本会把错误结构固化进新库。
字段决定保留,不等于原样搬过去。判断转换是否成立,可以看三条可区分的证据:
需要提醒的是,导入后某些字段请求量或抓取量下降,不能单独证明保留项选对了。它也可能来自页面结构变化、入口调整或抓取节奏改变。把这类现象直接当成决策正确的证据,容易掩盖真正的数据问题。
放弃不等于删除。更稳妥的做法是给每个放弃字段留下一条记录:字段名、旧用途、放弃理由、原始数据存放位置、以及将来若需要恢复时的责任方。这样做的实际作用是,当运营后来提出“某个旧筛选怎么没了”时,团队能直接查到它被归为哪一类,而不是重新翻旧库。
如果某个字段既没有页面消费,也没有流程消费,但涉及对外承诺或历史记录,应优先选择导出留存而非在新系统中重建。重建一个无人维护的字段,只会把旧系统的负担带进新系统。
最后一步是把保留项清单和转换规则交给实际执行导入的人,并约定一次抽样验证。验证通过后再批量导入,验证不通过就回到字段分类,而不是在导入脚本里临时打补丁。字段决策的终点不是清单本身,而是这份清单能被下一环节直接执行。