Files
KIS-TOiR/server/docker-entrypoint.sh
MaKarin 698bc64d41 push
2026-04-04 20:06:21 +03:00

42 lines
1.1 KiB
Bash
Executable File

#!/bin/sh
set -e
PRISMA_BIN="./node_modules/.bin/prisma"
SCHEMA="prisma/schema.prisma"
if [ ! -f "$PRISMA_BIN" ]; then
echo "Prisma CLI not found at $PRISMA_BIN"
exit 1
fi
export PRISMA_HIDE_UPDATE_MESSAGE=1
run_migrate() {
"$PRISMA_BIN" migrate deploy --schema "$SCHEMA" --skip-generate
}
echo "Applying database migrations (schema=$SCHEMA)..."
i=0
while [ "$i" -lt 15 ]; do
if run_migrate; then
break
fi
i=$((i + 1))
if [ "$i" -eq 15 ]; then
echo "----------------------------------------------------------------"
echo "prisma migrate deploy failed after 15 attempts."
echo "Check: docker logs toir-server"
echo "If the DB volume has a broken migration history, remove volume"
echo "kis-toir_postgres-data once (all DB data lost) or fix _prisma_migrations."
echo "--- prisma migrate status ---"
"$PRISMA_BIN" migrate status --schema "$SCHEMA" || true
echo "----------------------------------------------------------------"
exit 1
fi
echo "Migrate failed or DB not ready; retrying in 2s ($i/15)..."
sleep 2
done
echo "Starting NestJS..."
exec node dist/main.js