Files
IdP/apps/sso-core/docker-entrypoint.sh
2026-07-01 17:52:05 +03:00

33 lines
1.2 KiB
Bash

#!/bin/sh
set -e
echo "[sso-core] Применение схемы БД (Prisma migrate deploy → db push)..."
attempt=0
max_attempts=30
apply_prisma_schema() {
if npm --workspace @lendry/sso-core run prisma:migrate-deploy; then
echo "[sso-core] Миграции Prisma применены (migrate deploy)"
return 0
fi
echo "[sso-core] migrate deploy не выполнен — пробуем db push..."
npm --workspace @lendry/sso-core run prisma:push
}
while [ "$attempt" -lt "$max_attempts" ]; do
attempt=$((attempt + 1))
if apply_prisma_schema; then
echo "[sso-core] Схема БД синхронизирована"
break
fi
if [ "$attempt" -ge "$max_attempts" ]; then
echo "[sso-core] ОШИБКА: не удалось подключиться к PostgreSQL после ${max_attempts} попыток." >&2
echo "[sso-core] Проверьте POSTGRES_* в .env и пароль существующего volume postgres_data." >&2
exit 1
fi
echo "[sso-core] PostgreSQL недоступен или неверный пароль, повтор ${attempt}/${max_attempts}..."
sleep 3
done
exec node apps/sso-core/dist/main.js