feat(aihr): align BRD scenarios and SOP seed content

This commit is contained in:
2026-07-14 23:04:23 +08:00
parent cabdfafa17
commit 0a30fe7034
8 changed files with 205 additions and 5 deletions
@@ -0,0 +1,34 @@
#!/usr/bin/env bash
set -euo pipefail
if ! command -v docker >/dev/null || ! docker ps --format '{{.Names}}' | grep -qx 'wygj-mysql'; then
echo "SKIP: AIHR BRD SOP migration test requires wygj-mysql"
exit 0
fi
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
MYSQL_CONTAINER="wygj-mysql"
DB="wygj_aihr_brd_sop_test_$$"
mysql() {
docker exec -i "$MYSQL_CONTAINER" mysql -uroot -proot --default-character-set=utf8mb4 "$@"
}
cleanup() {
mysql -e "DROP DATABASE IF EXISTS \`$DB\`;" >/dev/null 2>&1 || true
}
trap cleanup EXIT
mysql -e "CREATE DATABASE \`$DB\` CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;"
mysql "$DB" < "$ROOT_DIR/backend/script/sql/aihr_knowledge_mysql8.sql"
mysql "$DB" < "$ROOT_DIR/backend/script/sql/update/aihr_20260714_brd_sop_seed_mysql8.sql"
mysql "$DB" < "$ROOT_DIR/backend/script/sql/update/aihr_20260714_brd_sop_seed_mysql8.sql"
counts="$(mysql "$DB" -N -B -e "
SELECT
(SELECT COUNT(*) FROM aihr_knowledge_attach WHERE type='sop' AND status=2),
(SELECT COUNT(*) FROM aihr_knowledge_fragment WHERE doc_id IN ('sop_service_promotion_v1', 'sop_daily_service_v1'));
")"
test "$counts" = $'5\t6'
echo "PASS: AIHR BRD SOP migration is idempotent"
@@ -0,0 +1,35 @@
#!/usr/bin/env bash
set -euo pipefail
if ! command -v docker >/dev/null || ! docker ps --format '{{.Names}}' | grep -qx 'wygj-mysql'; then
echo "SKIP: AIHR BRD scenario migration test requires wygj-mysql"
exit 0
fi
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
MYSQL_CONTAINER="wygj-mysql"
DB="wygj_aihr_brd_scenario_test_$$"
mysql() {
docker exec -i "$MYSQL_CONTAINER" mysql -uroot -proot --default-character-set=utf8mb4 "$@"
}
cleanup() {
mysql -e "DROP DATABASE IF EXISTS \`$DB\`;" >/dev/null 2>&1 || true
}
trap cleanup EXIT
mysql -e "CREATE DATABASE \`$DB\` CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;"
mysql "$DB" < "$ROOT_DIR/backend/script/sql/aihr_practice_mysql8.sql"
mysql "$DB" < "$ROOT_DIR/backend/script/sql/update/aihr_20260714_practice_brd_scenarios_mysql8.sql"
mysql "$DB" < "$ROOT_DIR/backend/script/sql/update/aihr_20260714_practice_brd_scenarios_mysql8.sql"
counts="$(mysql "$DB" -N -B -e "
SELECT
(SELECT COUNT(*) FROM aihr_practice_scenario WHERE scenario_code IN ('service-promotion-needs', 'daily-service-followup')),
(SELECT COUNT(*) FROM aihr_practice_rubric WHERE scenario_code IN ('service-promotion-needs', 'daily-service-followup')),
(SELECT COUNT(*) FROM aihr_practice_rubric_dimension WHERE rubric_code IN ('rubric-service-promotion-needs', 'rubric-daily-service-followup'));
")"
test "$counts" = $'2\t2\t10'
echo "PASS: AIHR BRD practice scenarios migration is idempotent"