修复 operations_replica 生产驱动崩溃 #9

Merged
WuYongJie merged 2 commits from fix/WuYongJie-operations-replica-pdo-dblib into main 2026-08-04 17:09:14 +08:00
Owner

任务占用与边界

  • 任务名称:修复 operations_replica 生产驱动崩溃
  • 实际开发者:WuYongJie
  • 任务来源/团队分工:生产快照恢复
  • 目标结果:生产 Linux 容器不再通过会崩溃的 PDO_ODBC 访问 FreeTDS;保留固定只读查询、共享系统数据库凭据来源和私有隧道。
  • 预计修改路径:deploy/Dockerfile;modules/EcommerceFinance/Services/UpstreamOdbcConnection.php;tests/Unit/EcommerceFinance/UpstreamOdbcConnectionTest.php
  • 预计页面或路由:公司、店铺、商标信息页的共享快照读取
  • 预计 Controller / Repository:UpstreamOdbcConnection;UpstreamReadOnlyQuery
  • 数据源、表/视图和字段:operations_replica 固定只读查询;不新增上游写入、全表同步或业务字段。
  • 上游 source_key / scope:operations_replica;company-information.read、store-information.read、trademark-information.read
  • 权限名、菜单键或共享组件:不变
  • 明确不修改的范围:上游账号、密码、权限、表结构、业务数据、Windows/本地 ODBC 行为

开工碰撞检查

  • Codex 已执行 scripts/codex-task-preflight.ps1
  • 已检查最新 main 和所有远程任务分支
  • 已搜索主线既有页面、接口、Repository 和数据查询
  • 未发现重叠

实际改动

  • 完成内容:开发中
  • Codex 实际修改的文件:待补充
  • 新增或变更的公共契约:仅 Linux 容器内的 FreeTDS PDO 传输选择;不新增外部配置项
  • 与原计划的差异:无

验证证据

  • 正常流程:同一共享配置和私有隧道下,FreeTDS 命令行 SELECT 1 已成功;PDO_ODBC 独立进程退出码 139。
  • 空数据/错误输入/无权限场景:待补充自动测试。
  • 受影响旧功能:Windows/本地仍使用既有 ODBC。
  • 自动测试及结果:待补充。
  • 实际页面、接口或只读业务查询结果:待合并和获准发布后生成三份首份快照。

风险检查

  • 不涉及金额、权限、审批、数据库迁移、生产配置或数据修复
  • 如涉及上述高风险内容,已在下方写明影响、回滚和所需授权
  • 未提交 .env、密码、Token、私钥、真实财务数据、生产日志或构建产物
  • 前端改动符合 DESIGN.md;无前端改动则写“不适用”

高风险影响、回滚和授权状态:需要构建新的应用镜像并经生产最小只读查询验证;不迁移、不改上游数据。若验证失败,发布脚本自动保留上一个可回滚镜像。

合并前复查

  • 已重新拉取远程引用并用实际修改范围再次运行碰撞检查
  • PR 不再是 WIP:,所有测试结果已经补齐
  • Codex 已重新读取原始需求和验收标准,并逐文件审核 origin/main...任务分支 的完整 diff
  • Codex 自审确认无越界修改、重复实现、敏感内容、未处理冲突和未验证结果
  • 合并顺序不会覆盖其他未合并任务
  • 已授权当前任务的 Codex 执行 Squash merge、验证 main 并清理任务分支
  • 如涉及生产迁移、数据修复、删除、覆盖配置或部署,已另行取得对应高风险授权
## 任务占用与边界 - 任务名称:修复 operations_replica 生产驱动崩溃 - 实际开发者:WuYongJie - 任务来源/团队分工:生产快照恢复 - 目标结果:生产 Linux 容器不再通过会崩溃的 PDO_ODBC 访问 FreeTDS;保留固定只读查询、共享系统数据库凭据来源和私有隧道。 - 预计修改路径:deploy/Dockerfile;modules/EcommerceFinance/Services/UpstreamOdbcConnection.php;tests/Unit/EcommerceFinance/UpstreamOdbcConnectionTest.php - 预计页面或路由:公司、店铺、商标信息页的共享快照读取 - 预计 Controller / Repository:UpstreamOdbcConnection;UpstreamReadOnlyQuery - 数据源、表/视图和字段:operations_replica 固定只读查询;不新增上游写入、全表同步或业务字段。 - 上游 source_key / scope:operations_replica;company-information.read、store-information.read、trademark-information.read - 权限名、菜单键或共享组件:不变 - 明确不修改的范围:上游账号、密码、权限、表结构、业务数据、Windows/本地 ODBC 行为 ## 开工碰撞检查 - [x] Codex 已执行 scripts/codex-task-preflight.ps1 - [x] 已检查最新 main 和所有远程任务分支 - [x] 已搜索主线既有页面、接口、Repository 和数据查询 - [x] 未发现重叠 ## 实际改动 - 完成内容:开发中 - Codex 实际修改的文件:待补充 - 新增或变更的公共契约:仅 Linux 容器内的 FreeTDS PDO 传输选择;不新增外部配置项 - 与原计划的差异:无 ## 验证证据 - 正常流程:同一共享配置和私有隧道下,FreeTDS 命令行 SELECT 1 已成功;PDO_ODBC 独立进程退出码 139。 - 空数据/错误输入/无权限场景:待补充自动测试。 - 受影响旧功能:Windows/本地仍使用既有 ODBC。 - 自动测试及结果:待补充。 - 实际页面、接口或只读业务查询结果:待合并和获准发布后生成三份首份快照。 ## 风险检查 - [ ] 不涉及金额、权限、审批、数据库迁移、生产配置或数据修复 - [x] 如涉及上述高风险内容,已在下方写明影响、回滚和所需授权 - [x] 未提交 .env、密码、Token、私钥、真实财务数据、生产日志或构建产物 - [x] 前端改动符合 DESIGN.md;无前端改动则写“不适用” 高风险影响、回滚和授权状态:需要构建新的应用镜像并经生产最小只读查询验证;不迁移、不改上游数据。若验证失败,发布脚本自动保留上一个可回滚镜像。 ## 合并前复查 - [ ] 已重新拉取远程引用并用实际修改范围再次运行碰撞检查 - [ ] PR 不再是 WIP:,所有测试结果已经补齐 - [ ] Codex 已重新读取原始需求和验收标准,并逐文件审核 origin/main...任务分支 的完整 diff - [ ] Codex 自审确认无越界修改、重复实现、敏感内容、未处理冲突和未验证结果 - [ ] 合并顺序不会覆盖其他未合并任务 - [x] 已授权当前任务的 Codex 执行 Squash merge、验证 main 并清理任务分支 - [ ] 如涉及生产迁移、数据修复、删除、覆盖配置或部署,已另行取得对应高风险授权
WuYongJie added 1 commit 2026-08-04 16:49:16 +08:00
WuYongJie added 1 commit 2026-08-04 17:06:18 +08:00
Author
Owner

合并前自审完成:

  • 逐文件审核 origin/main...任务分支,仅涉及生产镜像、FreeTDS 配置、operations_replica 的 PHP 驱动选择和测试。
  • 不新增页面、迁移、上游写入、凭据或新的开发者手工配置;Windows 与其他来源保持既有 ODBC 路径。
  • 验证:PHP 语法检查通过;新单测 2 项/6 断言通过;连接缓存 12 项/29 断言通过;副本库刷新器 4 项/19 断言通过;系统数据库与隧道配置测试 18 项/102 断言通过。
  • 生产基础镜像的隔离副本已实际编译并加载 pdo_dblib。
  • 不提交私有运行配置、账号、密码、地址或业务数据。

生产部署与三份首份快照需要在该修复合并后使用新的提交单独执行;不涉及迁移。

合并前自审完成: - 逐文件审核 `origin/main...任务分支`,仅涉及生产镜像、FreeTDS 配置、operations_replica 的 PHP 驱动选择和测试。 - 不新增页面、迁移、上游写入、凭据或新的开发者手工配置;Windows 与其他来源保持既有 ODBC 路径。 - 验证:PHP 语法检查通过;新单测 2 项/6 断言通过;连接缓存 12 项/29 断言通过;副本库刷新器 4 项/19 断言通过;系统数据库与隧道配置测试 18 项/102 断言通过。 - 生产基础镜像的隔离副本已实际编译并加载 `pdo_dblib`。 - 不提交私有运行配置、账号、密码、地址或业务数据。 生产部署与三份首份快照需要在该修复合并后使用新的提交单独执行;不涉及迁移。
WuYongJie changed title from WIP: 修复 operations_replica 生产驱动崩溃 to 修复 operations_replica 生产驱动崩溃 2026-08-04 17:08:43 +08:00
WuYongJie merged commit 3fd41dfb69 into main 2026-08-04 17:09:14 +08:00
WuYongJie deleted branch fix/WuYongJie-operations-replica-pdo-dblib 2026-08-04 17:09:15 +08:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: WuYongJie/CaiWuXiTong#9
No description provided.