test(aihr): guard migration runbook coverage
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
# BRD 功能审查与未完成项记录
|
||||
|
||||
- 2026-07-15 BRD 生产迁移合同防回归:发现版本化 AIHR MySQL 迁移虽已全部写入 Runbook,但此前没有测试保证新增 `aihr_*_mysql8.sql` 必须同步进入执行清单;现将目录与 `BRD_PRODUCTION_MIGRATION_RUNBOOK.md` 的覆盖检查接入 schema migration 测试。该检查只验证发布合同,不执行生产迁移,也不替代备份、回滚和逐脚本核验。
|
||||
|
||||
- 2026-07-15 BRD 严格门禁旧案例结构兼容修复:`scripts/demo-check.sh` 原先在 `aihr_case_record` 整表或 `learning_points/supervisor_comment` 字段缺失时直接执行查询,可能以 Unknown column/table 中断,无法输出真正的 schema 门槛;现先探测表和字段,缺失时以 `stored_cases=0`、`case_media_schema=0/2`、`case_learning_schema=0/2` 继续判定,新增旧表/无表回归。该修复只改善迁移缺口可见性,不放松案例 `20` 条和字段 `2/2` 门槛。
|
||||
|
||||
- 2026-07-15 BRD 内容与本地开发库对齐复核:仓库基础 SQL 和 `aihr_20260714_prompt_template_seed_mysql8.sql` 均已声明 6 个内置 Prompt,但本地 `ry-vue` 此前只执行到 5 个,导致严格门禁的 `prompt_templates=6/6` 在代码已具备时仍可能被本地库状态误导;本轮仅在本地开发库执行该幂等迁移,复核得到生活顾问启用场景 `14` 条、服务推介/增值 `1` 条、日常服务 `1` 条、住宅 SOP 附件 `5` 条、内置 Prompt `6` 条。未修改生产数据库;生产仍需正式迁移窗口和发布证据。
|
||||
|
||||
@@ -11,6 +11,14 @@ MYSQL_CONTAINER="wygj-mysql"
|
||||
DB="wygj_aihr_schema_test_$$"
|
||||
LEGACY_DB="wygj_aihr_candidate_legacy_test_$$"
|
||||
|
||||
while IFS= read -r migration; do
|
||||
migration_name="$(basename "$migration")"
|
||||
grep -Fq "backend/script/sql/update/$migration_name" "$ROOT_DIR/docs/BRD_PRODUCTION_MIGRATION_RUNBOOK.md" || {
|
||||
echo "FAIL: AIHR migration missing from production Runbook: $migration_name" >&2
|
||||
exit 1
|
||||
}
|
||||
done < <(find "$ROOT_DIR/backend/script/sql/update" -maxdepth 1 -type f -name 'aihr_*_mysql8.sql' -print | sort)
|
||||
|
||||
mysql() {
|
||||
docker exec -i "$MYSQL_CONTAINER" mysql -uroot -proot --default-character-set=utf8mb4 "$@"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user