✨ feat: 添加微信小程序调试工具和完整参数参考文档
This commit is contained in:
52
.codex/skills/shz-full-development/scripts/execute-test-sql.sh
Executable file
52
.codex/skills/shz-full-development/scripts/execute-test-sql.sh
Executable file
@@ -0,0 +1,52 @@
|
||||
#!/usr/bin/env bash
|
||||
# 在 SHZ 测试 HighGo 数据库执行指定 SQL 文件。
|
||||
# 仅支持测试环境;必须显式设置 CONFIRM_TEST_SQL=yes。
|
||||
set -Eeuo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P)"
|
||||
PROJECT_DIR="$(cd -- "$SCRIPT_DIR/../../../.." && pwd -P)"
|
||||
|
||||
MIGRATION_FILE="${1:-}"
|
||||
PASSWORD_FILE="${HIGHGO_TEST_PASSWORD_FILE:-${HIGHGO_PASSWORD_FILE:-$PROJECT_DIR/.codex/skills/query-shz-highgo/.password}}"
|
||||
TEST_SSH_HOST="${HIGHGO_TEST_SSH_HOST:-root@47.111.103.66}"
|
||||
TEST_SSH_PORT="${HIGHGO_TEST_SSH_PORT:-22}"
|
||||
TEST_PSQL_PATH="${HIGHGO_TEST_PSQL_PATH:-/opt/HighGo4.5.7-see/bin/psql}"
|
||||
TEST_DB_HOST="${HIGHGO_TEST_DB_HOST:-127.0.0.1}"
|
||||
TEST_DB_PORT="${HIGHGO_TEST_DB_PORT:-5866}"
|
||||
TEST_DB_NAME="${HIGHGO_TEST_DB_NAME:-highgo}"
|
||||
TEST_DB_USER="${HIGHGO_TEST_DB_USER:-sysdba}"
|
||||
|
||||
if [[ "${CONFIRM_TEST_SQL:-}" != "yes" ]]; then
|
||||
echo '为防止误写测试数据库,请使用 CONFIRM_TEST_SQL=yes 执行。' >&2
|
||||
exit 2
|
||||
fi
|
||||
|
||||
if [[ -z "$MIGRATION_FILE" ]]; then
|
||||
echo "用法:CONFIRM_TEST_SQL=yes $0 <sql-file>" >&2
|
||||
exit 2
|
||||
fi
|
||||
|
||||
if [[ ! -r "$MIGRATION_FILE" ]]; then
|
||||
echo "SQL 文件不可读:$MIGRATION_FILE" >&2
|
||||
exit 2
|
||||
fi
|
||||
|
||||
if [[ ! -r "$PASSWORD_FILE" ]]; then
|
||||
echo '测试数据库密码文件不可读。' >&2
|
||||
exit 2
|
||||
fi
|
||||
|
||||
command -v ssh >/dev/null 2>&1 || {
|
||||
echo '缺少必要命令:ssh' >&2
|
||||
exit 2
|
||||
}
|
||||
|
||||
printf '执行测试数据库 SQL:%s\n' "$(basename "$MIGRATION_FILE")"
|
||||
{
|
||||
cat "$PASSWORD_FILE"
|
||||
printf '\n'
|
||||
cat "$MIGRATION_FILE"
|
||||
} | ssh -o BatchMode=yes -o ConnectTimeout=20 -p "$TEST_SSH_PORT" "$TEST_SSH_HOST" \
|
||||
"IFS= read -r PGPASSWORD; export PGPASSWORD; export PGOPTIONS='-c search_path=shz,public -c statement_timeout=30000'; exec '$TEST_PSQL_PATH' -X --no-psqlrc -h '$TEST_DB_HOST' -p '$TEST_DB_PORT' -U '$TEST_DB_USER' -d '$TEST_DB_NAME' -v ON_ERROR_STOP=1 -f -"
|
||||
|
||||
printf '测试数据库 SQL 执行成功:%s\n' "$(basename "$MIGRATION_FILE")"
|
||||
Reference in New Issue
Block a user