mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-14 17:01:08 +02:00
34 lines
892 B
Bash
34 lines
892 B
Bash
#!/bin/sh
|
|
set -e
|
|
|
|
echo "=== Chat Backend Entrypoint ==="
|
|
|
|
# Wait for PostgreSQL to be ready
|
|
echo "Waiting for PostgreSQL..."
|
|
until pg_isready -h ${DB_HOST:-postgres} -p ${DB_PORT:-5432} -U ${DB_USER:-chat} 2>/dev/null; do
|
|
echo "PostgreSQL is unavailable - sleeping"
|
|
sleep 2
|
|
done
|
|
echo "PostgreSQL is up!"
|
|
|
|
cd /app/chat/backend
|
|
|
|
# Run schema push (for development) or migrations (for production)
|
|
if [ "$NODE_ENV" = "production" ] && [ -d "src/db/migrations/meta" ]; then
|
|
echo "Running database migrations..."
|
|
npx tsx src/db/migrate.ts
|
|
echo "Migrations completed!"
|
|
else
|
|
echo "Pushing database schema (development mode)..."
|
|
npx drizzle-kit push --force
|
|
echo "Schema push completed!"
|
|
fi
|
|
|
|
# Run seed (only seeds if data doesn't exist)
|
|
echo "Running database seed..."
|
|
npx tsx src/db/seed.ts
|
|
echo "Seed completed!"
|
|
|
|
# Execute the main command
|
|
echo "Starting application..."
|
|
exec "$@"
|