先按“字段是否参与当前业务闭环”做一次硬筛,再按迁移成本与历史价值做二次取舍;如果某个字段只服务于已停用的流程,默认不迁,只留归档。下面用一个假设情境把决策过程拆开。
假设一家做设备维保的中小企业要把旧客户管理系统里的客户表迁到新网站后台。旧表有二十六列,新系统只承认十四列,剩下十二列包括“首次接触渠道备注”“旧业务员编号”“设备出厂批次”“合同扫描件路径”“客户曾用名”等。迁移前必须决定哪些保留、哪些合并、哪些只做离线归档。
此时最常见的错误是“全部保留”,因为它看起来最安全;另一种错误是“只留新系统字段”,因为它最省事。两种做法都成立,但成立条件不同。
把每个待定字段放进当前流程里走一遍:销售录入客户时会不会填?客服查询客户时会不会看?生成报价或工单时会不会被引用?如果三个问题的答案都是“不会”,这个字段就不该进入新系统的常用表结构。
以假设情境中的“旧业务员编号”为例。如果业务员已经离职、编号体系停用,保留它只会让新后台多一个没人维护的空白列。更合理的做法是把它并入“历史备注”,而不是单独建字段。动作是:先在旧数据里把该列的值拼进备注文本,再在新系统中只保留一个备注字段。这样做的结果是新表结构变窄,后续新增字段时不必再绕开这列做兼容。
反过来,“设备出厂批次”如果仍用于维保到期提醒,就必须保留为独立字段,因为它要参与筛选和触发提醒。判断依据不是字段新旧,而是它是否还被程序或人工流程读取。
有些字段虽然还在用,但迁移代价很高。比如“合同扫描件路径”如果旧路径指向的存储已经不可访问,强行迁入只会得到一批死链接。此时应先确认路径是否可解析,再决定迁入、重建还是只留索引。
可以用一个简单的比较方法:假设保留该字段需要额外清洗两天,而它每月只被查询一次,那么把它放进离线归档表、需要时再人工调取,通常比塞进主表更划算。如果它每天被多个岗位查询,那么清洗成本就值得付。
这里要说明一个容易误判的现象:旧系统里某字段的查询量下降,并不自动等于它没有价值。也可能是旧入口难用、权限收窄或人员变动造成的。决定删除前,至少确认下降原因属于哪一种,否则容易把仍被需要的字段误删。
更可执行的决策不是二选一,而是把字段分成三档:
在假设情境中,“客户曾用名”适合合并进备注;“合同扫描件路径”适合离线归档并保留索引;“设备出厂批次”迁入主表。这样处理后,新系统字段数从二十六降到十四加一个备注,既没有丢历史线索,也没有把主表撑成杂物间。
动作与结果的关联在于:每确定一档,就同步更新迁移脚本和验收项。如果某字段被定为离线归档,验收时就不应再要求它出现在客户详情页;如果被定为主表字段,就要验证它在新增、编辑、筛选三个环节都能正常工作。下一步的字段映射表因此可以直接作为开发交接依据。
全部保留并非总是错的。如果旧系统字段数量很少、清洗规则明确、新系统允许扩展自定义字段,而且企业短期内没有重构计划,那么一次性全迁可以减少反复沟通。代价是新后台会变臃肿,后续每次改表都要考虑旧字段的兼容。
相反,如果字段数量多、来源系统杂、新系统字段上限紧,就应优先做三档拆分。选择哪种做法,取决于迁移后谁维护、维护频率多高、以及旧字段是否还有明确的读取方。没有读取方的字段,保留下来也只是把问题推迟到下一次改版。
最后要强调的是,字段取舍不是一次性的技术动作。迁移完成后,应记录每个保留项的理由和责任人;当业务再次变化时,这份记录能帮助团队判断某个字段是该继续保留,还是终于可以归档。