Files
baiyue-firstleg/deploy/scripts/initialize-test-databases.sh
T
2026-07-31 14:57:09 +08:00

37 lines
1.3 KiB
Bash
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 sh
set -eu
# 仅用于测试基础设施容器。所有 SQL 均使用 CREATE ... IF NOT EXISTS 或幂等扩展语句,
# 不删除已有业务数据;仓库样例数据使用固定 ID 重复写入。
MYSQL_CONTAINER="${TEST_MYSQL_CONTAINER:-firstleg-test-mysql}"
if ! docker inspect --type container "$MYSQL_CONTAINER" >/dev/null 2>&1; then
echo "测试 MySQL 容器不存在:$MYSQL_CONTAINER" >&2
echo "请先执行 docker compose -f docker-compose-infra.yml up -d" >&2
exit 1
fi
if [ "$(docker inspect -f '{{.State.Running}}' "$MYSQL_CONTAINER")" != "true" ]; then
echo "测试 MySQL 容器未运行:$MYSQL_CONTAINER" >&2
exit 1
fi
for sql_file in \
iam/src/main/resources/db/iam.sql \
order/src/main/resources/db/order.sql \
order/src/main/resources/db/phase1-order-extension.sql \
order/src/main/resources/db/phase1-masterdata-extension.sql \
warehouse/src/main/resources/db/warehouse.sql \
warehouse/src/main/resources/db/warehouse-partner.sql \
warehouse/src/main/resources/db/warehouse-seed.sql
do
if [ ! -f "$sql_file" ]; then
echo "找不到初始化 SQL:$sql_file" >&2
exit 1
fi
echo "初始化测试数据库:$sql_file"
docker exec -i "$MYSQL_CONTAINER" sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD" --default-character-set=utf8mb4' < "$sql_file"
done
echo "测试数据库初始化完成。"