先给一个有条件的结论:如果旧系统字段迁入新站后无法完整对应,优先保留“会阻断业务流程”和“会丢失历史责任链”的字段,其余字段可以先做只读归档或延后处理;但如果这些字段只在一个样本里成立、放大到全部数据后出现大量例外,就不能照搬这条规则,必须回到字段级盘点重新分组。
旧系统字段无法完整迁入,通常不是技术能力问题,而是字段背后的业务含义在新结构里没有对应位置。决定保留项时,先按用途分成三类:
这个分类的价值在于:它让“保留”不等于“原样塞进新表”。流程阻断类可以进入主表;责任链类可以进入独立日志表;展示补充类可以进入归档表,只在新站后台按需查看。
假设你抽查了十几条旧记录,发现“客户来源”字段几乎都为空,于是判断它可以不保留。这个判断在样本里成立,但放大到全部数据后可能失效:如果旧系统里来源字段只在某几个时间段或某个渠道被填写,而新站恰好需要按来源做对账,那么空值率高的字段反而是关键字段。此时正确的动作不是继续删,而是先按时间、渠道、操作人三个维度各抽一组数据,比较空值分布是否一致。
另一个反例是:某个字段在旧系统里由人工填写,格式不统一,看起来“没有迁移价值”。但如果新站后续要做自动提醒或统计,这个字段可能是唯一能区分业务类型的依据。遇到这种情况,先不要把它并入备注字段,而是单独保留原始值,并加一个“待清洗”标记,等业务方确认后再决定是否合并。
与其争论字段重不重要,不如看四类证据:
这四类证据不需要全部满足。只要有一类成立,就应进入保留候选;如果四类都不成立,再考虑归档或丢弃。这样做的结果是:保留项变少但更准确,后续开发不用为每个字段单独写迁移逻辑。
假设某旧系统有“客户等级”字段,新站只做展示,不做权限控制。抽查二十条记录,等级值都能对应到新站的标签体系,于是决定保留并直接映射。但放大到全部数据后发现,旧系统里“客户等级”在不同年份由不同规则生成,同一等级在不同年份含义不同。此时直接映射会让新站展示出错。下一步动作应是:先保留原始等级值和生成年份,在新站里拆成“原始等级”和“当前等级”两个字段,展示时以当前等级为准,原始值只用于追溯。
这个例子的关键不是等级本身,而是“样本内一致”不等于“全量一致”。一旦发现字段含义随时间或渠道变化,就不能用单一映射规则处理。
完成字段分类和证据核对后,下一步不是立刻写迁移脚本,而是先产出一张字段处置表,至少包含:旧字段名、新字段名或归档位置、保留原因、空值处理方式、是否需要业务方确认。然后按这张表做一次小批量试迁,只迁一个业务闭环所需的最小字段集,观察新站后台能否正常查询和展示。如果试迁中发现某个字段虽然被标记为“展示补充类”,但实际被其他流程引用,就把它移回流程阻断类,再重新评估。这个动作的结果会直接影响后续迁移范围:试迁越早暴露例外,后面返工越少。