能不能扩展,取决于旧字段里是否已经混入了本该拆开的信息。如果字段只是数量少、含义仍然单一,加字段并回填历史数据通常可行;如果同一个字段里塞了地址、规格、联系人等多种含义,先拆字段再迁移,否则新加的字段很快又会被混用。下面用一个假设情境说明判断和操作顺序。
假设一个做本地建材供应的站点,上线时产品表只有名称、价格、简介三个字段。后来业务要求按规格、产地、起订量筛选,还要求每条询价记录区分咨询产品和售后问题。这时问题不是“字段太少”,而是简介里混着规格和产地,询价表里混着两种意图。
两种情况的处理方式不同:
判断证据可以这样找:随机抽一批历史记录,看同一字段的取值是否能被一条规则完整解析。如果必须靠人工逐条判断才能拆开,说明混用已经发生,扩展前要先做数据清洗。
字段扩展的顺序会影响返工量。建议按下面的顺序推进,每一步都有明确的验证动作:
其中第 4 步是容易被跳过的一步。只改数据库不改录入表单,等于给混用留了入口,下一次扩展还会遇到同样的问题。
回填不是把旧字段整段复制到新字段。遇到下面几种情况,应先暂停批量写入:
这些情况说明数据本身需要先整理。可以先把无法自动处理的部分单独列出,人工确认后再写入,并把处理规则记录下来,供以后新增数据时沿用。
需要说明的是,回填后前台筛选结果变少或某段时间没有新记录,不能单独证明扩展做对了。也可能是筛选条件过严、历史数据本就不完整,或者录入尚未跟上。判断扩展是否有效,要看新录入的数据是否稳定进入新字段,而不是只看某一时的数量变化。
假设产品表原有“简介”字段,现在要拆出“规格”和“产地”。可以先新增两个可空字段,写一段解析规则把简介中符合“规格:数值+单位”的部分提取到规格字段,其余保持为空。然后抽取一小批记录人工核对,确认解析规则没有把产地误当成规格。
核对通过后,再更新后台表单,把规格和产地改为独立输入项,并在页面上先只展示规格,观察一段时间再决定是否开放产地筛选。这个顺序的好处是:任何一步出错,都只影响新字段,不会破坏原有的名称、价格和简介展示。如果一开始就删除旧字段,回退成本会高得多。
第一,把新字段的填写规则写进入录说明,明确哪些信息必须填、哪些可以留空。第二,约定一次检查周期,定期查看新字段的空值比例和异常取值,发现运营又把信息写回旧字段时及时纠正。字段扩展不是一次性的技术动作,录入习惯不改,扩展过的结构仍会重新变成混用状态。对已有实际业务的站点来说,先判断混用、再按顺序扩展、最后用录入规则守住结构,比一次性加很多字段更稳妥。