先给结论:字段能否保留,不取决于它在旧系统里存在多久,而取决于它在新站上是否还有明确的展示位置、录入责任人和消费场景。三者缺一,通常应转为归档字段而不是硬迁。只有当下游页面、表单或对外接口确实读取该字段时,才值得为它单独设计映射规则。
旧系统里的字段大致分两类。一类是内容字段,比如产品参数、文章摘要、联系方式说明,它们有编辑入口,也会出现在前台。另一类是状态字段,比如内部审核标记、旧版排序号、历史渠道编号,它们主要服务于旧后台流程,前台并不直接展示。
内容字段优先考虑保留,因为丢失后需要人工重新录入,成本落在编辑身上。状态字段优先考虑归档,因为新系统的流程可能已经不同,强行迁入只会让后台多出一批无人维护的空列。
一个可操作的判断动作是:把候选字段逐条标注“前台是否读取”。标注完成后,前台读取的字段进入保留清单,其余进入待定清单。这个动作的结果直接决定下一步是设计映射表,还是只做数据备份。
如果某个字段会被列表页、详情页、筛选器或对外接口读取,并且新旧格式能通过规则转换,就应保留。典型情况是日期、枚举值和固定长度的编码。
此时的动作是写一份字段映射说明,逐条记录旧字段名、新字段名、转换规则和空值处理方式。映射说明完成后,先在一小批数据上试迁,核对前台展示是否与预期一致,再决定是否全量执行。试迁结果若出现大量空值或格式错位,说明转换规则还需要补充例外分支,而不是直接放弃该字段。
如果字段只用于旧后台的统计口径、旧版页面的排序,或者当年某个已停止的活动,就应转为归档。归档不等于删除,可以把原始数据导出为独立文件保存,并在新系统里保留一个备注字段说明来源。
这样做的结果是新站结构更干净,编辑不需要面对一堆看不懂的旧列。代价是未来若有人想追溯旧数据,需要去查归档文件,而不是在后台直接看到。这个代价是否可接受,取决于该字段是否涉及对账、合规或长期客户服务。
当团队对某个字段是否保留有分歧时,不要靠印象争论,可以收集三类证据:
三类证据都指向“有”,保留;只有流程证据指向“有”而前台和下游都没有,通常说明这是内部习惯,可以改为备注或直接归档;只有下游证据指向“有”,则需要先确认下游能否接受新格式,再决定保留方式。
假设旧系统有一个“推荐等级”字段,取值是一到五,前台曾在列表页用星标展示。新站改版后列表页不再显示星标,但运营仍希望在后台按等级排序。
此时的选择不是把五级星标原样搬过去,而是判断排序需求是否真实存在。如果只是偶尔查看,可以把旧值导入一个只读的归档列;如果每天都要用,则应在新的内容模型里保留一个可编辑的排序字段,并明确由谁维护。这个例子的数字只用于说明比较方法,不代表任何实际系统的字段设计。
建议的顺序是:先冻结旧系统写入,再导出全量数据,然后按保留清单做映射试迁,最后核对前台与后台。冻结写入这一步很关键,否则迁移过程中产生的新数据会落在旧系统里,造成两边不一致。
例外情况也要提前写明。比如某些字段虽然前台不展示,但涉及发票、合同或历史订单,就不能简单归档,需要单独确认保存期限和访问权限。再比如字段值本身存在大量脏数据,转换规则无法覆盖,这时应先把脏数据单独列出,由业务方逐条确认,而不是让程序猜测。
迁移完成后,还要检查一次空值率。如果某个保留字段在新系统里大面积为空,说明旧数据本身就不完整,或者映射规则漏掉了某种格式。此时应回到映射说明补充规则,而不是把空值当成正常结果。