Postgres
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
set -e
|
||||
|
||||
# Keep DATABASE_URL consistent for every Prisma command
|
||||
export DATABASE_URL="${DATABASE_URL:-file:/app/data/prod.db}"
|
||||
export DATABASE_URL="${DATABASE_URL:-postgresql://innungsapp:innungsapp@postgres:5432/innungsapp?schema=public}"
|
||||
MIGRATIONS_DIR="./packages/shared/prisma/migrations"
|
||||
|
||||
# Debug: Check environment variables
|
||||
@@ -22,14 +22,34 @@ echo "NODE_ENV: ${NODE_ENV:-[not set]}"
|
||||
echo "========================================"
|
||||
echo ""
|
||||
|
||||
run_with_retries() {
|
||||
attempt=1
|
||||
max_attempts=20
|
||||
|
||||
while [ "$attempt" -le "$max_attempts" ]; do
|
||||
if "$@"; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
if [ "$attempt" -eq "$max_attempts" ]; then
|
||||
echo "Command failed after ${max_attempts} attempts."
|
||||
return 1
|
||||
fi
|
||||
|
||||
echo "Database not ready yet. Retry ${attempt}/${max_attempts} in 3s..."
|
||||
attempt=$((attempt + 1))
|
||||
sleep 3
|
||||
done
|
||||
}
|
||||
|
||||
# Prefer migration-based deploys. Fall back to db push when no migrations exist yet.
|
||||
set -- "$MIGRATIONS_DIR"/*/migration.sql
|
||||
if [ -f "$1" ]; then
|
||||
echo "Applying Prisma migrations..."
|
||||
npx prisma migrate deploy --schema=./packages/shared/prisma/schema.prisma
|
||||
run_with_retries npx prisma migrate deploy --schema=./packages/shared/prisma/schema.prisma
|
||||
else
|
||||
echo "No Prisma migrations found. Syncing schema with db push..."
|
||||
npx prisma db push --skip-generate --schema=./packages/shared/prisma/schema.prisma
|
||||
run_with_retries npx prisma db push --skip-generate --schema=./packages/shared/prisma/schema.prisma
|
||||
fi
|
||||
|
||||
echo "Starting Next.js server..."
|
||||
|
||||
Reference in New Issue
Block a user