决定保留哪些旧字段,不能只看字段名是否熟悉,而要先判断它是否仍在支撑可验证的业务动作。可验证的动作包括:前台展示、后台筛选、对外导出、与财务或工单系统对接。如果某字段只产生历史记录,不再进入任何动作链,它通常应进入归档而不是新库。反之,即便字段很旧,只要仍被查询、导出或对账依赖,就必须保留并补齐迁移规则。
旧站里很多字段看起来重要,是因为它们出现在后台列表里。但后台可见不等于业务在用。判断方法很直接:随机抽出若干条旧记录,逐个走一遍真实流程,看这个字段是否被读取、修改、导出或触发通知。如果全程没有它,流程照样完成,它更接近展示字段;如果缺了它,客服无法回访、仓管无法对账、编辑无法判断发布状态,它就是动作字段。
动作字段优先保留,展示字段可以合并或降级。合并时要注意粒度:旧系统可能把“客户等级”和“折扣比例”塞进同一个文本字段,新系统如果拆成两个独立字段,迁移时就要写解析规则。解析规则必须能处理空值、异常值和历史脏数据,否则保留项越多,清洗成本越高。
条件一:旧字段仍参与对外承诺或对账。这时应选择全量保留,并额外增加迁移校验。比如订单备注里可能写着发票抬头、收货时间窗或退款约定,这类信息一旦丢失,后续争议无法还原。实施动作是:先冻结旧库写入,再导出一份只读快照,然后按字段逐项比对记录数和空值率。比对结果会决定下一步是继续迁移,还是先回滚到快照补规则。
条件二:旧字段只用于内部参考,且新流程已有替代来源。这时应选择最小保留,把字段转入归档表,不进入新站主表。实施动作是:给每个被舍弃字段记录一条“舍弃原因”和“可回溯位置”,例如归档表名或快照文件编号。这样做的代价是,未来若有人要求恢复,需要额外查询归档;收益是新库结构更干净,编辑和开发不用再面对大量无人使用的字段。
不要只凭“字段名看起来重要”做决定。可以收集三类证据:
这三类证据可能互相冲突。例如某字段无人查询,但属于发票凭证,就应以合规证据为准。反过来,某字段天天被导出,但导出后只用于人工看一眼,没有进入任何决策,就可以考虑用新字段替代,而不是原样保留。
假设旧系统有一个“客户来源”字段,取值是自由文本,新系统要求下拉选项。若直接全量保留,迁移后会出现大量无法归类的值,编辑每次发内容都要手动判断,反而增加错误。此时更合理的动作是:先保留原字段为只读备注,再新增一个标准来源字段,由运营按规则回填。回填完成后,旧字段转入归档。这个动作的结果是:新库查询变快、统计口径统一;代价是迁移周期变长,且需要人工确认一部分记录。
如果旧字段涉及金额、日期或身份标识,则不应采用上述“先备注后回填”的宽松做法,而应在迁移前完成格式校验。校验不通过的记录单独列出,不能静默丢弃。因为金额和日期一旦错位,后续对账和通知都会连锁出错。
有些字段无法判断归属,是因为旧系统本身没有文档,且原维护人员已不在。这时不要强行二选一,可以设置一个观察期:新站上线后,把该字段放入只读归档区,保留查询入口但不参与新流程。观察期内若无人访问,再决定彻底移除;若有人访问,就补迁移规则。观察期长度取决于业务周期,例如按季度对账的业务,至少覆盖一个完整对账周期。
最后,把保留项清单写成可执行的迁移说明:字段名、来源表、目标表、是否必填、清洗规则、校验方式、回滚位置。这份说明不需要对外发布,但它决定了迁移完成后,你能不能回答“某个旧字段到底去了哪里”。如果回答不了,保留项决策就还没有真正完成。