先给结论:决定保留哪些旧字段,不应按“字段重不重要”投票,而应按“这个字段是否仍被某个可指认的流程消费”来判定。假设一个情境:某企业官网要从旧CMS迁到新系统,旧库有86个字段,新系统只支持42个,其中18个字段没有任何页面、表单或后台筛选会读取它们。此时更稳妥的做法是先把字段分成“被消费”“被展示”“被留档”三类,再决定迁移、合并或冻结,而不是一次性全量导入或直接砍掉。
字段的保留价值来自它的下游用途,而不是它曾经存在过。可以按下面的顺序排查:
假设旧系统里有一个“客户来源备注”字段,前台不显示,后台也不筛选,但销售导出报表时会看。它属于“被消费”,只是消费方在站外。如果新系统没有对应字段,就要么保留一个只读字段,要么在导出环节补上,而不是默认删除。
实际决策通常落在两个选项之间。全量保留的代价是新系统表结构变重、编辑界面变长、后续每次改版都要维护一批没人看的字段。按流程裁剪的代价是可能漏掉低频但关键的用途,尤其是财务、法务或历史对账场景。
选择条件可以这样区分:
这里的实际动作是:先做一张字段用途表,列出字段名、前台是否读取、后台是否筛选、是否有外部对接、是否涉及留档。做完这张表后,下一步不是马上写迁移脚本,而是拿给运营和财务各确认一次。确认结果会直接决定哪些字段进入新主表、哪些进入归档表、哪些可以合并。
假设旧站有“产品编号”“产品别名”“内部成本价”“上架时间”“下架原因”五个字段,新系统只允许保留三个。可以这样判断:
结果是新主表保留编号、成本价、上架时间,别名合并,下架原因归档。这个结果会影响下一步:迁移脚本只需处理三个主表字段,归档表单独导出,重定向规则单独验证。若跳过用途确认,直接全量导入,后续编辑界面会出现大量空字段,运营每次保存都要面对无关输入项,反而增加误操作概率。
字段决策完成后,迁移顺序建议按依赖关系排,而不是按字段数量排:
如果抽样发现合并后的备注无法区分来源,就应回退到保留两个独立字段,而不是继续合并。这个回退动作会影响新系统表结构,因此最好在正式导入前完成,避免导入后再改表。
迁移后如果出现以下情况,说明字段决策需要复查:
这些信号不能单独证明某次决策错误,因为查询量上升也可能只是短期核对。更可靠的做法是记录每次恢复请求的来源流程,再决定是恢复字段还是调整流程。字段保留的最终依据,始终是它是否仍被一个可指认的流程使用,而不是它曾经出现在旧系统里。