Files
a-share-analysis/docs/features/GOV-011-runtime-version-series/prd.md
T

2.0 KiB

Node 与 MySQL 系列版本约束 PRD

  • 功能编号:GOV-011
  • 状态:设计复核
  • 日期:2026-08-17

背景

项目目标基线一直是 Node.js 22.x 与 MySQL 5.7.x,但部分实现、错误提示和现行规范把实际开发环境的 MySQL 5.7.42 写成了唯一允许的补丁版本。Node 运行时已经按 22 主版本校验,只是历史验证记录会显示实际使用的 22.11.0 或 22.22.0。用户明确说明本项目主要由本人部署,不需要锁定某个补丁版本,希望现行口径统一为系列版本。

目标

  • Node.js 接受全部格式合法的 22.x,拒绝其他主版本。
  • MySQL 客户端、mysqldump、服务端和运行时健康检查接受全部格式合法的 5.7.x,拒绝 5.6.x、8.x 及其他系列。
  • 字符集 utf8mb4、排序规则 utf8mb4_general_ci、会话时区 +08:00、固定开发库和主机白名单继续严格校验。
  • 健康结果展示服务端返回的实际版本,不再硬编码 5.7.42。
  • 当前规范统一使用系列口径,历史 QA、Schema 清单和已发布档案继续保留当时真实补丁版本。

非目标

  • 不升级 Node、MySQL、pnpm、数据库驱动或 ORM。
  • 不修改数据库结构、数据、账号、网络或部署方式。
  • 不支持 Node 23、MySQL 8.x、MariaDB 或其他“兼容 MySQL”数据库。
  • 不为各补丁版本建立兼容矩阵或自动安装运行时。

验收标准

  1. Node 22.0.0、22.11.0 和带预发布/构建后缀的合法 22.x 版本通过;21.x、23.x 和无效格式拒绝。
  2. MySQL 5.7.0、5.7.41、5.7.42-log 等合法 5.7.x 通过;5.6.x、8.0.x 和无效格式拒绝。
  3. MySQL 5.7.x 即使版本通过,字符集、排序规则、库名或时区错误仍拒绝。
  4. 既有 v0.0.5 至 v0.0.7 Schema 历史清单继续验证,不被改写。
  5. 健康详情包含实际服务端版本;不泄漏连接地址、账号或密码。
  6. 全量测试、构建、Playwright、源码发布门禁和两类 Review 通过。