← back to Nineoh Guide

db/setup-prod.sh

21 lines

#!/usr/bin/env bash
# One-shot: build + populate a fresh production database (Neon / Vercel Postgres).
# Usage:  DATABASE_URL="postgres://…neon…" bash db/setup-prod.sh
# Idempotent-ish: schema uses IF NOT EXISTS; ingest scripts skip/dedupe on re-run.
set -euo pipefail

: "${DATABASE_URL:?Set DATABASE_URL to the Neon/Vercel Postgres connection string}"
cd "$(dirname "$0")/.."

echo "1/9  schema"                 ; psql "$DATABASE_URL" -f db/schema.sql >/dev/null
echo "2/9  seed show"              ; node db/seed.mjs
echo "3/9  episodes (TVmaze)"      ; node db/ingest-tvmaze.mjs
echo "4/9  cast names (TVmaze)"    ; node db/ingest-cast.mjs
echo "5/9  cast bios"             ; node db/apply-bios.mjs
echo "6/9  recaps (all seasons)"   ; node db/apply-recaps.mjs
echo "7/9  cast photos (Wikimedia, license-checked)" ; node db/ingest-wikimedia-images.mjs
echo "8/9  Beverly Hills photos"   ; node db/ingest-beverlyhills-photos.mjs
echo "9/9  news index (Google News RSS)" ; node db/ingest-news.mjs

echo "✅ production database populated."