2026-07-31 14:57:09 +08:00
|
|
|
#!/usr/bin/env sh
|
|
|
|
|
set -eu
|
2026-09-29 18:47:37 +08:00
|
|
|
# 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"
|
2026-07-31 14:57:09 +08:00
|
|
|
done
|