test(aihr): cover evidence schema migrations

This commit is contained in:
2026-07-14 16:20:29 +08:00
parent 0609bd3d17
commit 6c25467a21
2 changed files with 7 additions and 0 deletions
+1
View File
@@ -309,3 +309,4 @@
- 2026-07-14 BRD 4.4/4.7 旧 schema 迁移兼容性修复:SOP 提问主体迁移原先默认旧表已有 `source` 列,且严格门禁要求的 `prompt_version` 只有运行时懒建没有版本化生产迁移;入职日期迁移原先默认 `aihr_org_snapshot` 表已存在。现 SOP 脚本按表/列存在性依次补 `source`、`prompt_version`、`requester_ext_party_id`,组织脚本在表不存在或缺少 `employment_status` 时安全跳过定位依赖。两份迁移均保持幂等,不写入业务数据;新增 `demo-check` marker,后续用临时旧 schema 做连续执行验证。
- 2026-07-14 BRD 门禁夹具同步:严格预检已将 SOP 正式样本限定为带 `requester_ext_party_id` 且能命中在职组织身份的提问记录;原 `demo-check-pilot-gates` 临时表仍是旧 6 列,导致 SOP 指标为空并无法真实覆盖新口径。现补齐主体与 `prompt_version` 字段,使用安全员工主体 `E` 验证 `sop_usable=1/1`、待评审数和窗口过滤,未改变业务数据。
- 2026-07-14 BRD 生产迁移回归固化:新增 `scripts/tests/aihr-schema-migrations.test.sh`,在临时 MySQL 库验证 SOP 主体/版本字段和组织入职日期迁移面对旧表、缺前置表时可安全执行且重复执行幂等;不写入开发库业务数据。
- 2026-07-14 BRD 生产迁移回归扩展:同一临时 MySQL 回归测试同时连续执行 `aihr_20260714_practice_evidence_mysql8.sql`,确认 `aihr_practice_audio` 与 `aihr_practice_calibration` 两张证据表可重复创建;不写入开发库业务数据。
@@ -20,6 +20,12 @@ cleanup() {
trap cleanup EXIT
mysql -e "CREATE DATABASE \`$DB\` CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;"
mysql "$DB" < "$ROOT_DIR/backend/script/sql/update/aihr_20260714_practice_evidence_mysql8.sql"
mysql "$DB" < "$ROOT_DIR/backend/script/sql/update/aihr_20260714_practice_evidence_mysql8.sql"
evidence_tables="$(mysql "$DB" -N -B -e "SELECT GROUP_CONCAT(table_name ORDER BY table_name) FROM information_schema.tables WHERE table_schema='$DB' AND table_name IN ('aihr_practice_audio','aihr_practice_calibration');")"
test "$evidence_tables" = 'aihr_practice_audio,aihr_practice_calibration'
mysql "$DB" <<'SQL'
CREATE TABLE aihr_sop_answer_review (
id bigint NOT NULL AUTO_INCREMENT,