决定保留哪些旧字段,不应按字段数量或新旧系统字段名称的相似度来定,而应先确认两件事:这些字段是否仍被前台页面读取,以及是否被后台业务流程写入。两者都否的字段可以归档不迁;只要有一项为是,就必须迁移或找到替代承载方式。下面给出两种条件下的不同选择、可核对的证据,以及一个假设例子。
旧系统里字段多,不代表都用得上。判断保留项的第一步是找证据,而不是凭印象。可以核对的证据包括:前台模板中是否出现该字段的调用、接口返回中是否包含该字段、后台表单是否允许编辑它、最近一段时间是否有非空值写入。这里要注意一个反常现象:某个字段的写入量降到零,并不等于它可以删除。可能是业务暂停、录入入口被隐藏、或者数据由人工批量导入而不再逐条填写。写入归零至少有三种合理解释,需要分别核对后再决定。
如果旧系统还能运行,可以导出字段清单,逐项标注“前台读取”“后台写入”“仅历史留存”三类。这个动作的结果会直接决定下一步:标注为“仅历史留存”的字段,进入归档评估;标注为“前台读取”或“后台写入”的字段,进入迁移必选清单。
当字段被前台模板或接口读取,保留方式有两种,取决于页面是否还需要展示它。
实施动作上,建议先做一次字段映射表,把旧字段名、新字段名、类型、是否必填写清楚,再在测试环境跑一遍导入,检查空值、超长文本和日期格式这三类最容易出问题的数据。如果导入后发现某字段大量为空,不要立刻判定它无用,先确认旧系统是否本身就允许留空。
有些字段前台看不到,却是后台审核、统计或对账的依据。这类字段的处理原则是:先确认流程是否延续,再决定迁移形态。
这里的取舍依据是查询成本。把已停用流程的字段全部塞进新系统,会让后续维护者难以判断哪些字段还有意义。归档文件虽然不在系统内,但只要保留可检索的说明,就足以应对偶发的历史核对需求。
假设某旧系统有“建筑面积”和“使用面积”两个字段。核对发现,前台详情页只读取“建筑面积”,而后台对账流程会同时使用两者。迁移时若只保留“建筑面积”,对账环节就会缺一项依据。反过来,若两个字段都迁入主表,但“使用面积”在新流程中已不再录入,它就会长期为空,反而干扰数据质量判断。
较稳妥的做法是:两个字段都迁移,但给“使用面积”加上状态标记,标明它是历史字段、不再新增。这样前台不受影响,对账时仍可查到旧值,新录入时也不会被空字段误导。这个例子的数字和字段名均为假设,仅用于说明比较方法,不代表任何真实项目结果。
有两种情况不适合按上述规则处理。一是字段涉及对外承诺或合规留存,此时不能仅凭“当前无人读取”就归档,需要先确认留存期限和查阅方式。二是旧系统数据本身存在重复或矛盾,迁移前应先做去重和冲突标记,否则保留项越多,错误越难追溯。
另外,迁移完成后不要只看导入条数是否一致。条数一致只能说明行数对上了,不能证明字段含义、空值处理和关联关系都正确。更可靠的动作是抽取若干条记录,逐字段比对旧系统与新系统的显示结果和后台取值,确认一致后再关闭旧系统的写入入口。这个动作的结果决定了旧系统是否可以进入只读或下线阶段。