Files
Agent-System/scripts/migrate-test-db.sh
T
weichen d91dafc1c4 feat(scripts): test env single-binary entrypoints (migrate-test-db, launch-single)
- migrate-test-db.sh: reuse parameterized migrate-dev-db.sh with test defaults
  (container shuimu-system-pg-test -> localpg :5434, PGDATA=data/test/pg)
- launch-single.sh: non-dev single-binary launcher (SYSTEM_DB_*->CONTEXT_DB_*
  mapping, env-scoped PI sidecar, no Vite); task record for dev->test rc
  promotion + test conversion (rc-v1.1.0-beta.4)
2026-09-27 16:21:09 +00:00

36 lines
1.7 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env bash
# migrate-test-db.sh — dump 容器 system-db (shuimu-system-pg-test :5434) → 本机 localpg :5434
#
# 复用 migrate-dev-db.sh 的通用逻辑(其全部差异点已参数化);本脚本只钉 test 默认值:
# CONTAINER=shuimu-system-pg-test DATA_DIR=data/test PORT=5434 DB=agent_system_test
# 前置:
# - 容器 shuimu-system-pg-test 健康(作为 dump 源)
# - brew postgresql@18 + pgvector 已安装(LOCALPG_BIN 可覆盖)
# - configs/.env.test 提供 SYSTEM_DB_*(或用环境变量覆盖)
# 不删除 docker volume;回滚:docker compose -f docker-compose.test.yml -p agent-test up -d system-db
set -euo pipefail
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
# 读取 test 环境 SSOT(SYSTEM_DB_* 等;含密钥,勿回显)
# shellcheck disable=SC1091
if [[ -f "$ROOT/configs/.env.test" ]]; then
set -a
. "$ROOT/configs/.env.test"
set +a
fi
export CONTAINER="${DEV_PG_CONTAINER:-shuimu-system-pg-test}"
export DATA_DIR="${MIGRATE_DATA_DIR:-$ROOT/data/test}" # 绝对路径,避免 PGDATA 相对解析漂移
export PORT="${CONTEXT_DB_PORT:-${SYSTEM_DB_PUBLISH_PORT:-5434}}"
export CONTEXT_DB_PORT="$PORT"
export DB_USER="${CONTEXT_DB_USER:-${SYSTEM_DB_USER:-app}}"
export DB_PASS="${CONTEXT_DB_PASSWORD:-${SYSTEM_DB_PASSWORD:?SYSTEM_DB_PASSWORD required (configs/.env.test)}}"
export DB_NAME="${CONTEXT_DB_NAME:-${SYSTEM_DB_NAME:-agent_system_test}}"
export DUMP="${DUMP_PATH:-$ROOT/.tmp/test-pg-migrate.dump}"
# migrate-dev-db.sh 的 dump 步骤读取 SYSTEM_DB_USER / SYSTEM_DB_NAME
export SYSTEM_DB_USER="${SYSTEM_DB_USER:-app}"
export SYSTEM_DB_NAME="${SYSTEM_DB_NAME:-agent_system_test}"
bash "$ROOT/scripts/migrate-dev-db.sh"