先给结论:不要按“字段是否迁得过去”决定保留,而要按“这个字段离开旧系统后,是否还有业务动作依赖它”决定。把候选字段逐个放进“谁在用、用来做什么、缺了会触发什么后果”这三问里,只有能对应到具体动作的字段才保留,其余字段即使数据完整也应放弃。下面以你手上的一份旧系统导出表或一个旧内容页为对象,给出可直接执行的处理顺序。
打开旧系统的字段清单,对每个字段问一句:有没有人会因为看到它而做出下一步操作?例如“客户等级”会决定销售跟进顺序,属于驱动动作;“录入人”通常只是留痕,属于仅作记录。新系统字段容量有限时,优先砍掉仅作记录的一类,因为它们的缺失不会改变任何人的行为。
这一步的产出是一张三列清单:字段名、依赖它的动作、动作发生频率。频率可以用高、中、低三档估,不必追求精确数字。频率低的驱动字段可以降级为备注文本,而不是占用独立字段。
对第一步留下的每个字段,假设它在新系统里为空,然后推演后果。后果分三种:业务中断、需要人工补查、无人察觉。只有前两种值得保留独立字段;第三种说明该字段在旧系统里也早已名存实亡。
这里有个容易踩的坑:某些字段在旧系统里填得满满当当,看起来很重要,但那是历史录入习惯造成的,不代表现在还有人读它。判断依据应该是“最近一次有人真正使用该字段是什么时候”,而不是“这个字段有多少条非空记录”。如果无法确认,就先按“需要人工补查”处理,保留一个自由文本兜底,而不是为它设计结构化字段。
字段迁不完整往往不是数据丢失,而是新旧结构对不上。常见做法有三种,按成本从低到高排列:
选择哪种,取决于这个字段未来是否需要被程序读取。只给人看的,合并进备注即可;需要被筛选、排序或触发的,才值得拆成标签或独立字段。
假设旧系统有一张客户表,包含“客户来源”“首次接触日期”“负责销售”“备注”四个字段,新系统只允许三个自定义字段。按上面的顺序处理:
这个例子的关键不是字段数量,而是每一步都改变了下一步的取舍条件。如果第二步发现“首次接触日期”确实要参与计算,那么第三步就应该优先为它争取结构化位置,而不是先保留“客户来源”。
决定保留哪些字段之后,立即写一份迁移说明,内容至少包括:被放弃字段的名称、放弃理由、数据去向(删除、进备注、留在旧系统只读)。这份说明不需要长,但要能让后来接手的人看懂为什么某个字段不在新系统里。
一个实际动作是:在迁移脚本或导入模板里,为每个被放弃字段留一行注释,注明它的去向。这样当有人日后问“为什么没有这个字段”时,你能直接指向注释,而不是重新翻旧系统。这个动作的结果是,后续新增字段的评审会更快,因为判断标准已经写在案,不必每次从头争论。
需要提醒的是,样本量小的时候,字段去留往往靠直觉就能判断;一旦记录数上升、参与角色变多,同一条规则就会遇到例外。所以上面的顺序适合先在一张表或一个页面上跑通,确认判断标准稳定后,再推广到其余表。如果推广时发现某类字段反复触发例外,说明分类标准本身需要调整,而不是逐个打补丁。