字段不够用,通常不是数据库容量问题,而是当初把业务信息压进了备注、标题或图片文件名里。扩展前先做一件事:从现有页面和导入资料中抽出一份真实的字段清单,确认哪些信息正在被丢失或被硬编码。只有分清“缺字段”和“字段用错位置”,后续加字段才不会把老数据搅乱。
打开你手里任意一个已发布的内容编辑页,逐项检查:标题里是否塞了规格、备注里是否写了联系人、正文图片是否承担了参数说明。如果同一条信息在多处重复出现,且没有一处能稳定筛选,那多半是字段被挪用,而不是数量不足。此时直接加新字段,只会让编辑继续把内容填进旧位置。
可核对的证据包括:按现有字段导出一次数据,看有多少条记录在备注中夹带了本应独立的结构化内容;再抽查前台筛选或列表页,看哪些信息只能靠人工阅读而不能被程序取出。若这两项都指向同一类信息,就应优先把它独立成字段,而不是继续扩充自由文本。
假设某牡丹江本地服务站的资料表里,每条记录只有“标题、正文、联系方式”三个字段。上线后发现用户需要按服务区域和可预约时段筛选,而这两项信息目前都写在正文里。
这个例子的关键假设是:旧正文里的信息格式足够一致,人工抽取后能总结出有限选项。如果每条的写法都不同,应先做一轮人工归一,再决定是否新增字段,否则新字段会迅速变成第二个备注框。
两种顺序各有成立条件。先动数据层,适合旧数据量不大、且你能接受前台短暂显示不完整的情况;先动展示层,适合旧数据量大、但新字段只用于后台管理而不影响用户浏览。
判断依据可以看一个动作的结果:如果你先给编辑页加上新字段并保存一条测试记录,然后前台列表仍按旧逻辑输出,说明展示层尚未读取新字段,此时应补查询和模板,而不是继续加字段。反过来,如果前台已经能读取新字段但老记录全为空,说明数据迁移还没做,下一步应处理补填或默认值,而不是改展示样式。
需要避免的是同时改数据结构和页面模板却不留回退路径。扩展字段期间,至少保留旧字段的读取逻辑,直到确认新字段在导入、编辑、前台三处都能正常工作。
如果新增信息只用于一次性的活动说明,或者只在极少数记录中出现,把它做成独立字段会增加编辑负担和查询复杂度。此时更合适的做法是保留在正文或备注中,并在页面模板里用固定区块展示。
另一个信号是:同一字段在不同栏目中含义不同。比如“区域”在服务页指服务范围,在招聘页指工作地点。这种情况下应拆成两个字段或两套内容类型,而不是共用一个字段再靠栏目判断。判断方法很简单:让编辑在不看栏目的情况下填写该字段,若他们需要猜测填什么,就说明字段边界不清。
字段加完后,不要只看编辑页是否保存成功。选一条旧记录和一条新记录,分别在前台列表、详情页和后台筛选里各走一遍,确认旧记录不会因为缺少新字段而报错,新记录能被正确筛选。若旧记录在筛选页消失,先检查查询条件是否把空值排除了,而不是立刻批量补数据。
如果验证通过,下一步是把字段说明写进编辑规范,明确哪些信息必须进字段、哪些可以留在正文。若验证不通过,优先回退展示层的查询条件,保留已添加的字段但暂停前台使用,等旧数据补齐后再启用。这样处理的结果是:字段扩展不会阻断现有页面,也不会让未确认的数据提前进入用户视野。