Files
TX/docker/migrate.sh
T

28 lines
769 B
Bash
Raw Normal View History

#!/usr/bin/env bash
set -euo pipefail
echo "[migrate] waiting for postgres at $DATABASE_URL ..."
for i in {1..60}; do
if node -e "
import('pg').then(({ default: pg }) => {
const c = new pg.Client({ connectionString: process.env.DATABASE_URL });
c.connect().then(() => c.end()).then(() => process.exit(0)).catch(() => process.exit(1));
});
" 2>/dev/null; then
echo "[migrate] postgres is ready."
break
fi
sleep 1
done
echo "[migrate] pushing schema with drizzle-kit ..."
cd /app
pnpm --filter @workspace/db run push-force
echo "[migrate] seeding database ..."
pnpm --filter @workspace/scripts run seed || {
echo "[migrate] seed reported a non-zero exit (often safe if data already exists). Continuing."
}
echo "[migrate] done."