fix: align Windows dev, App compiler, and ASR
This commit is contained in:
@@ -1,12 +1,35 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
||||
RESET_SCRIPT="$ROOT_DIR/scripts/reset-dev-db.sh"
|
||||
LEARNING_CLOSURE_MIGRATION="backend/script/sql/update/aihr_20260717_learning_closure_mysql8.sql"
|
||||
PRACTICE_GROWTH_MIGRATION="backend/script/sql/update/aihr_20260724_practice_growth_curriculum_mysql8.sql"
|
||||
WEB_AI_BASE_MIGRATION="backend/script/sql/update/aihr_20260717_web_ai_question_reward_mysql8.sql"
|
||||
WEB_AI_SECRET_MIGRATION="backend/script/sql/update/aihr_20260719_web_ai_database_secret_mysql8.sql"
|
||||
WEB_SEARCH_QWEN_MIGRATION="backend/script/sql/update/aihr_20260719_web_search_qwen_mysql8.sql"
|
||||
|
||||
learning_closure_line="$(grep -nF "$LEARNING_CLOSURE_MIGRATION" "$RESET_SCRIPT" | cut -d: -f1 || true)"
|
||||
practice_growth_line="$(grep -nF "$PRACTICE_GROWTH_MIGRATION" "$RESET_SCRIPT" | cut -d: -f1 || true)"
|
||||
if [[ -z "$learning_closure_line" || -z "$practice_growth_line" || "$learning_closure_line" -ge "$practice_growth_line" ]]; then
|
||||
echo "FAIL: reset-dev-db.sh must apply learning closure before practice growth curriculum" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
web_ai_base_line="$(grep -nF "$WEB_AI_BASE_MIGRATION" "$RESET_SCRIPT" | cut -d: -f1 || true)"
|
||||
web_ai_secret_line="$(grep -nF "$WEB_AI_SECRET_MIGRATION" "$RESET_SCRIPT" | cut -d: -f1 || true)"
|
||||
web_search_qwen_line="$(grep -nF "$WEB_SEARCH_QWEN_MIGRATION" "$RESET_SCRIPT" | cut -d: -f1 || true)"
|
||||
if [[ -z "$web_ai_base_line" || -z "$web_ai_secret_line" || -z "$web_search_qwen_line"
|
||||
|| "$web_ai_base_line" -ge "$web_ai_secret_line" || "$web_ai_secret_line" -ge "$web_search_qwen_line" ]]; then
|
||||
echo "FAIL: reset-dev-db.sh must apply the web AI base, secret, and Qwen migrations in order" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! command -v docker >/dev/null || ! docker ps --format '{{.Names}}' | grep -qx 'wygj-mysql'; then
|
||||
echo "SKIP: AIHR schema migration test requires wygj-mysql"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
||||
MYSQL_CONTAINER="wygj-mysql"
|
||||
DB="wygj_aihr_schema_test_$$"
|
||||
LEGACY_DB="wygj_aihr_candidate_legacy_test_$$"
|
||||
@@ -31,6 +54,20 @@ trap cleanup EXIT
|
||||
|
||||
mysql -e "CREATE DATABASE \`$DB\` CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;"
|
||||
|
||||
web_ai_base_migration="$ROOT_DIR/$WEB_AI_BASE_MIGRATION"
|
||||
web_ai_secret_migration="$ROOT_DIR/$WEB_AI_SECRET_MIGRATION"
|
||||
web_search_qwen_migration="$ROOT_DIR/$WEB_SEARCH_QWEN_MIGRATION"
|
||||
mysql "$DB" < "$web_ai_base_migration"
|
||||
mysql "$DB" < "$web_ai_base_migration"
|
||||
mysql "$DB" < "$web_ai_secret_migration"
|
||||
mysql "$DB" < "$web_ai_secret_migration"
|
||||
mysql "$DB" < "$web_search_qwen_migration"
|
||||
mysql "$DB" < "$web_search_qwen_migration"
|
||||
web_search_columns="$(mysql "$DB" -N -B -e "SELECT GROUP_CONCAT(column_name ORDER BY ordinal_position) FROM information_schema.columns WHERE table_schema='$DB' AND table_name='aihr_web_search_provider' AND column_name IN ('api_key','agent_id','agent_version','last_test_ok','last_test_time');")"
|
||||
test "$web_search_columns" = 'api_key,agent_id,agent_version,last_test_ok,last_test_time'
|
||||
web_ai_secret_count="$(mysql "$DB" -N -B -e "SELECT COUNT(*) FROM aihr_web_ai_secret WHERE config_key='provider-encryption-v1' AND CHAR_LENGTH(config_value) > 0;")"
|
||||
test "$web_ai_secret_count" = '1'
|
||||
|
||||
mysql "$DB" < "$ROOT_DIR/backend/script/sql/update/aihr_20260714_case_media_mysql8.sql"
|
||||
mysql "$DB" <<'SQL'
|
||||
CREATE TABLE aihr_case_record (
|
||||
|
||||
Reference in New Issue
Block a user