# dbtool-cli-v1 PostgreSQL / MySQL runtime smoke 环境计划 日期:2026-03-26 ## 背景 - 当前仓库已具备 `docker-compose.demo.yml`、PostgreSQL / MySQL bootstrap 脚本、fixtures 与 `SMOKE_RUNBOOK.md` - QA 已完成 Linux 本地 SQLite smoke,但 PostgreSQL / MySQL runtime smoke 仍因当前 runner 无 Docker 而阻塞 - 当前问题的根因是**执行宿主缺失**,不是产品功能缺失 ## 决策 采用**宿主机执行 + Docker Compose 临时数据库**作为当前标准方案。 - 推荐说明见 `QA_RUNTIME_ENVIRONMENT.md` - 不采用长期宿主机数据库作为主路径 - 不在当前阶段为 `local-db-codex` 增加 Docker runtime ## 第一轮职责 - 后端:保持 compose / seed / SQL 输入稳定 - QA:在 Docker-capable host 执行 PostgreSQL / MySQL smoke 并回填证据 - CTO:完成方案裁决、任务拆解与阻塞升级 - 前端:保持 gated,不进入当前执行链路 ## 完成标准 - QA 能按 `QA_RUNTIME_ENVIRONMENT.md` 与 `SMOKE_RUNBOOK.md` 完成 PostgreSQL smoke - QA 能按 `QA_RUNTIME_ENVIRONMENT.md` 与 `SMOKE_RUNBOOK.md` 完成 MySQL smoke - 若执行仍失败,阻塞必须明确归因到宿主、Docker、二进制或产品缺陷之一 ## 2026-03-26 当前执行记录 - 当前 QA runner 已验证存在预编译 `target/release/dbtool`,且 `--help` / `--version` 正常 - 当前 QA runner 可通过 `examples/scripts/bootstrap-sqlite.sh` 复核 SQLite happy path - 当前 QA runner 不存在 `docker`,因此无法拉起 `docker-compose.demo.yml` - 当前 QA runner 不存在 `cargo`,因此宿主机执行时需提前准备 Rust toolchain 或直接分发预编译二进制