Files
baiyue-firstleg/deploy/scripts/initialize-test-databases.sh
T
2026-09-29 18:47:37 +08:00

16 lines
993 B
Bash

#!/usr/bin/env sh
set -eu
# Empty-schema baseline only. Never invoked by Compose/Jenkins automatically.
[ "${ALLOW_TEST_SCHEMA_INITIALIZATION:-false}" = "true" ] || { echo 'Explicit TEST SQL authorization required' >&2; exit 2; }
: "${TEST_MYSQL_CONTAINER:?Specify the authorized TEST MySQL container}"
[ "$#" -eq 2 ] || { echo 'Usage: initialize-test-databases.sh <firstleg-baseline.sql> <overseas-baseline.sql>' >&2; exit 2; }
for sql_file in "$1" "$2"; do
[ -f "$sql_file" ] || { echo "Missing reviewed baseline: $sql_file" >&2; exit 2; }
done
[ "$1" != "$2" ] || { echo 'Two distinct reviewed baselines required' >&2; exit 2; }
[ "$(docker inspect -f '{{.State.Running}}' "$TEST_MYSQL_CONTAINER")" = 'true' ] || { echo 'TEST MySQL is not running' >&2; exit 1; }
for sql_file in "$1" "$2"; do
echo "Applying reviewed TEST baseline: $sql_file"
docker exec -i "$TEST_MYSQL_CONTAINER" sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD" --default-character-set=utf8mb4' < "$sql_file"
done