41 lines
1.4 KiB
Bash
41 lines
1.4 KiB
Bash
#!/bin/sh
|
|
# KoolTap Production Setup
|
|
# Usage: ./scripts/setup.sh "My Venue" admin@myvenue.com mypassword [--force]
|
|
# Does nothing if the database already has a venue, unless --force is given (wipes ALL data).
|
|
#
|
|
# Or with env vars:
|
|
# SETUP_VENUE_NAME="My Venue" SETUP_ADMIN_EMAIL="admin@myvenue.com" SETUP_ADMIN_PASSWORD="mypassword" ./scripts/setup.sh
|
|
|
|
VENUE_NAME="${SETUP_VENUE_NAME:-$1}"
|
|
ADMIN_EMAIL="${SETUP_ADMIN_EMAIL:-$2}"
|
|
ADMIN_PASSWORD="${SETUP_ADMIN_PASSWORD:-$3}"
|
|
|
|
if [ -z "$VENUE_NAME" ] || [ -z "$ADMIN_EMAIL" ] || [ -z "$ADMIN_PASSWORD" ]; then
|
|
echo "Usage: $0 \"Venue Name\" admin@example.com password"
|
|
echo " or: SETUP_VENUE_NAME=... SETUP_ADMIN_EMAIL=... SETUP_ADMIN_PASSWORD=... $0"
|
|
exit 1
|
|
fi
|
|
|
|
echo "=== KoolTap Production Setup ==="
|
|
echo ""
|
|
echo " Venue: $VENUE_NAME"
|
|
echo " Admin: $ADMIN_EMAIL"
|
|
echo ""
|
|
|
|
# Step 1: Generate Prisma client
|
|
echo "[1/3] Generating Prisma client..."
|
|
npx prisma generate 2>&1 || { echo "FAILED"; exit 1; }
|
|
echo " ✓ Client generated"
|
|
|
|
# Step 2: Apply database migrations
|
|
echo "[2/3] Applying database migrations..."
|
|
node prisma/deploy.js 2>&1 || { echo "FAILED"; exit 1; }
|
|
echo " ✓ Migrations applied"
|
|
|
|
# Step 3: Seed with your data
|
|
echo "[3/3] Seeding database..."
|
|
SETUP_VENUE_NAME="$VENUE_NAME" SETUP_ADMIN_EMAIL="$ADMIN_EMAIL" SETUP_ADMIN_PASSWORD="$ADMIN_PASSWORD" \
|
|
node prisma/setup.js "$4" || { echo "FAILED"; exit 1; }
|
|
|
|
echo ""
|
|
echo "Setup complete. Login at https://kooltap.com" |