先给结论:字段迁不完整时,不要按“新旧系统一一对应”做取舍,而要按“这个字段是否仍在驱动当前业务动作”来分层。能驱动动作的字段优先保留并做兼容映射;只用于历史留档、没人再据此操作的字段,可以冻结在旧库或导出为只读附件,不强行塞进新结构。下面用一个假设情境把决策过程走一遍。
假设某山东制造企业的官网要从一套老旧自建系统迁到新站点。旧库里产品表有 40 多个字段,新系统只留了 15 个核心字段,多出来的包括“内部物料编号”“老版规格描述”“三年前的价格备注”“业务员手写分类”等。此时没有完整的数据字典,原开发人员也已离职,部分字段的用途只能靠现有页面和后台操作记录推断。
这种条件下仍可执行的最小动作是:把旧库完整导出并保留一份只读快照,然后逐个字段标注“当前是否还有人在用”。注意,这只能说明字段的使用状态,不能推出它“没有价值”,也不能证明新系统结构更合理——它只回答了迁移这一件事。
把无法完整迁入的字段分成三类,取舍会清晰很多:
判断依据不是字段数量,而是“谁在什么动作里会读到它”。如果一个字段找不到任何当前动作,把它放进留档类,比硬塞进新表更稳妥。
当旧字段和新字段语义接近但不完全一致时,直接合并容易丢信息。更稳的做法是建一张映射表,记录旧字段名、新字段名、转换规则和无法转换时的处理方式。例如旧系统的“规格描述”是自由文本,新系统拆成了“长度、宽度、材质”三个结构化字段,那就保留原文本作为备注字段,同时尽量拆分。
假设旧系统有 40 个字段,其中 18 个能直接映射,12 个需要转换,10 个无法对应。这个比例本身不是结论,它只是提示你:需要转换和无法对应的部分,才是决定迁移工作量和风险的地方。做完映射表后,下一步应拿真实数据跑一遍转换,看有多少条记录在转换后变成空值或异常值,再决定是补规则还是降级为留档。
如果连旧库的读取权限都不完整,不要先设计新结构。可执行的最小动作是:申请一次只读导出,或让有权限的人导出全表并计算校验值,确认拿到的是完整数据。拿到数据后先做字段清单和空值统计,再判断哪些字段值得迁移。
这里有个容易误判的地方:某个字段在导出结果里全是空值,不能单独证明它没用。它可能是权限不足导致没取到,也可能是旧系统本身就没写入。需要结合旧后台界面、页面展示或历史记录交叉验证,才能下结论。
把上面的过程收成一条可执行顺序:
完成这五步后,你会得到一份有依据的保留清单,而不是凭感觉删字段。真正需要警惕的不是字段多,而是把一个还在驱动业务的字段当成历史遗留删掉,等到前台展示或客服核对时才发现数据已经取不回来。