34 lines
952 B
Bash
34 lines
952 B
Bash
|
|
#!/bin/sh
|
||
|
|
set -e
|
||
|
|
|
||
|
|
echo "🔧 Checking dependencies..."
|
||
|
|
|
||
|
|
# Install dependencies if node_modules doesn't exist or package.json changed
|
||
|
|
if [ ! -d "node_modules" ] || [ "package.json" -nt "node_modules" ]; then
|
||
|
|
echo "📦 Installing npm dependencies..."
|
||
|
|
npm install
|
||
|
|
else
|
||
|
|
echo "✅ Dependencies already installed"
|
||
|
|
fi
|
||
|
|
|
||
|
|
# Generate Prisma Client if not exists or schema changed
|
||
|
|
if [ ! -d "node_modules/.prisma/client" ] || [ "prisma/schema.prisma" -nt "node_modules/.prisma/client" ]; then
|
||
|
|
echo "🔨 Generating Prisma Client..."
|
||
|
|
npx prisma generate
|
||
|
|
else
|
||
|
|
echo "✅ Prisma Client already generated"
|
||
|
|
fi
|
||
|
|
|
||
|
|
# Run pending database migrations
|
||
|
|
echo "🔄 Applying database migrations..."
|
||
|
|
npx prisma migrate deploy
|
||
|
|
|
||
|
|
# Regenerate Prisma Client after migrations to ensure sync
|
||
|
|
echo "🔨 Regenerating Prisma Client after migrations..."
|
||
|
|
npx prisma generate
|
||
|
|
|
||
|
|
echo "✅ Ready to start!"
|
||
|
|
|
||
|
|
# Execute the main command (passed as arguments to this script)
|
||
|
|
exec "$@"
|