马鞍山建站旧系统字段无法完整迁入时怎样决定保留项

📍 WDQWDWQD987AAAAA:216.73.216.105
📱 Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
🔗 /e3d70faa27bb.html
📄

马鞍山建站旧系统字段无法完整迁入时怎样决定保留项

先给结论:不要按“旧系统里有什么”决定保留项,而要按“新站上线后,哪些字段仍会驱动一个具体业务动作”来决定。做法是拿一张现有页面或一条资料记录,把每个字段标注为“上线后必须可读、必须可写、只需留档”三类;只有前两类进入新结构,第三类转成附件或归档表。这个判断先于选CMS、写迁移脚本和做页面模板。

先判断变化前提:业务动作变没变

字段能不能迁,不取决于旧数据库有多少列,而取决于关键前提是否变化。常见的变化有三种:报价方式从人工改为在线计算;客户资料从销售个人维护改为多角色共享;产品参数从文字描述改为可筛选属性。前提变了,旧字段的保留价值就会重排。

可以用两个选择成立的条件来区分:

判断时不要问“这个字段以后会不会有用”,而要问“如果它缺失,哪个页面或哪个业务动作会失败”。答不出具体动作的字段,先不进主表。

把一条旧记录拆成三类字段

拿你手上最复杂的一条旧记录来试,不要拿最简单的。假设某条产品资料包含:产品编号、名称、分类、参数文本、价格说明、联系人、联系电话、图片路径、备注、创建时间。可以这样分:

  1. 必须可读:上线后用户或内部人员要看到,例如名称、分类、参数、图片。这类字段进入新站主表或详情模板。
  2. 必须可写:上线后还要继续新增、修改、审核,例如产品编号、分类、参数、图片、备注。这类字段除了可读,还要确认新后台是否有对应录入项和校验规则。
  3. 只需留档:上线后不再参与页面展示和日常操作,但可能被审计、对账或客服追溯,例如旧联系人、旧电话、创建时间。这类不要硬塞进主表,转成归档表或附件字段,并保留原记录ID。

如果某个字段既不属于可读,也不属于可写,还不能说明留档用途,就暂时不迁。暂时不迁不等于删除,旧库先冻结只读,等新站运行一段时间后再决定是否清理。

用短例子验证保留项是否成立

下面是一个假设例子,用来演示比较方法,不是真实项目结果。假设旧站有“价格说明”字段,取值是“面议”“含税价 1200 元起”“需根据数量确认”。新站要做一个按价格区间筛选的列表页。若直接保留原字段:

更可行的处理是拆成四个字段:price_mode(面议/固定/区间)、price_min、price_max、price_note。旧文本整体保留到price_note作为留档,新列表页只读前三个字段。动作是:先在新结构里建这四个字段,再写一条迁移规则,把能解析的旧值填入数值字段,不能解析的统一标为“面议”。这个动作的结果会直接影响下一步——如果解析失败率很高,说明旧数据本身不适合做筛选,应先改业务录入规则,而不是继续写更复杂的解析脚本。

决定保留项后,先冻结再迁移

字段清单确定后,不要立刻全量导入。先做三件事:

  1. 冻结旧库写入:把旧系统改为只读,避免迁移期间新旧数据同时变化。若业务不能停,至少记录冻结时间点,后续差异单独补录。
  2. 抽样比对:从每条业务线各抽若干条记录,按新字段规则手工填一遍,再和迁移脚本结果比对。重点看空值、异常值、超长文本和特殊符号。
  3. 保留回退路径:旧库和旧附件不要在同一时间删除。新站上线后,若发现某个字段缺失导致业务动作失败,可以按原记录ID回查补迁。

如果抽样时发现大量记录无法归入已定字段,说明保留项划分过粗,应回到上一步重新区分“可读、可写、留档”,而不是在导入阶段临时加字段。临时加字段会让新站结构迅速膨胀,后续模板、筛选和权限都会变复杂。

哪些字段可以明确放弃迁入

以下情况通常可以不进入新站主结构,但要有替代处理:

放弃迁入的前提是:你能说清它不再驱动任何页面、筛选、通知或对账动作。说不清就先留档,不要直接删除。

把决定写成可执行清单

最后,把结论落成一张处理表,每行一个旧字段,列至少包含:旧字段名、含义、新字段名、类型、是否必填、是否可读、是否可写、留档方式、迁移规则、验证样例。填完后先让实际使用这些数据的人确认,再开始写导入程序。这样做的结果是:迁移脚本只处理已确认的字段,页面模板只依赖已确认的结构,后续出现缺失时也能快速定位是“当初决定不迁”还是“迁移遗漏”。

如果旧系统字段数量很多,优先处理会影响下单、报价、客服查询和内容发布的那几条记录,其余字段按同一方法分批判断。每批完成后都用一条真实业务动作验证,确认新结构能支撑该动作,再进入下一批。

图1 图2

nginx