#!/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