- Add prisma/schema.prisma with Project/Task models, enums, and relations - Create src/lib/db.ts singleton Prisma client - Refactor all 5 API routes to use Prisma queries - Replace migrate.ts with seed.ts for initial data - Update Dockerfile for Prisma lifecycle (copy generated client) - Update tsconfig.json with @/generated/* path alias - Remove pg and @types/pg dependencies - Add prisma.config.ts for Prisma 6 config - Update .gitignore for generated Prisma client
25 lines
623 B
Bash
25 lines
623 B
Bash
#!/bin/sh
|
|
set -e
|
|
echo "Waiting for PostgreSQL at $DB_HOST:$DB_PORT..."
|
|
for i in $(seq 1 60); do
|
|
if nc -z "$DB_HOST" "$DB_PORT" 2>/dev/null; then
|
|
echo "PostgreSQL is ready"
|
|
break
|
|
fi
|
|
echo "Waiting... $i"
|
|
sleep 1
|
|
done
|
|
|
|
echo "Running Prisma migrations..."
|
|
# Check if migrations have already been applied
|
|
if [ -d "prisma/migrations" ] && [ "$(ls -A prisma/migrations 2>/dev/null)" ]; then
|
|
echo "Applying existing migrations..."
|
|
npx prisma migrate deploy
|
|
else
|
|
echo "Pushing schema to database (first run)..."
|
|
npx prisma db push --accept-data-loss
|
|
fi
|
|
|
|
echo "Starting VixTix..."
|
|
exec npx next start -p 3000
|