Files
junhong_cmp_fiber/docker/entrypoint-api.sh
huang 589197e284
Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Failing after 0s
添加 Docker 和 CI/CD 配置(无 SSH 方案)
2026-01-19 14:56:40 +08:00

40 lines
1.0 KiB
Bash

#!/bin/bash
set -e
echo "========================================="
echo "君鸿卡管系统 API 服务启动中..."
echo "========================================="
# 检查必要的环境变量
if [ -z "$DB_HOST" ]; then
echo "错误: DB_HOST 环境变量未设置"
exit 1
fi
# 构建数据库连接 URL
DB_URL="postgresql://${DB_USER}:${DB_PASSWORD}@${DB_HOST}:${DB_PORT}/${DB_NAME}?sslmode=${DB_SSLMODE}"
echo "检查数据库连接..."
# 等待数据库就绪(最多等待 30 秒)
for i in {1..30}; do
if migrate -path /app/migrations -database "$DB_URL" version > /dev/null 2>&1; then
echo "数据库连接成功"
break
fi
echo "等待数据库就绪... ($i/30)"
sleep 1
done
# 执行数据库迁移
echo "执行数据库迁移..."
if migrate -path /app/migrations -database "$DB_URL" up; then
echo "数据库迁移完成"
else
echo "警告: 数据库迁移失败或无新迁移"
fi
# 启动 API 服务
echo "启动 API 服务..."
echo "========================================="
exec /app/api