Files
triqura-ecd/scripts/apply-organization-seed.sh
2025-11-23 10:13:00 +01:00

77 lines
2.6 KiB
Bash
Executable File

#!/bin/bash
# ============================================================================
# Apply Organization Seed Migration
# ============================================================================
# Epic: E3.S1 - Organization seed
# Purpose: Create default organization for development
# ============================================================================
set -e
echo "🚀 Applying organization seed migration..."
echo ""
# Load environment variables
if [ -f .env.local ]; then
export $(cat .env.local | grep -v '^#' | grep -v '^$' | xargs)
fi
# Check if Supabase is available
echo "Checking Supabase connection..."
curl -s -o /dev/null -w "%{http_code}" "${NEXT_PUBLIC_SUPABASE_URL}/rest/v1/" -H "apikey: ${NEXT_PUBLIC_SUPABASE_ANON_KEY}" | grep -q "200" || {
echo "❌ Cannot connect to Supabase. Please check if:"
echo " - Supabase is online (not under maintenance)"
echo " - Environment variables are set correctly"
exit 1
}
echo "✅ Supabase is reachable"
echo ""
# Apply migration using psql
MIGRATION_FILE="supabase/migrations/20251122_seed_default_organization.sql"
if [ ! -f "$MIGRATION_FILE" ]; then
echo "❌ Migration file not found: $MIGRATION_FILE"
exit 1
fi
echo "📄 Applying migration: $MIGRATION_FILE"
echo ""
# Get database connection string from Supabase dashboard
# Format: postgresql://postgres:[PASSWORD]@db.dqugbrpwtisgyxscpefg.supabase.co:5432/postgres
# You can find this in: Supabase Dashboard > Project Settings > Database > Connection string
echo "⚠️ To apply this migration, run the SQL file in Supabase SQL Editor:"
echo ""
echo " 1. Go to https://supabase.com/dashboard/project/dqugbrpwtisgyxscpefg/sql"
echo " 2. Copy and paste the contents of:"
echo " $MIGRATION_FILE"
echo " 3. Click 'Run'"
echo ""
echo "Or use the Supabase CLI:"
echo " npx supabase db push"
echo ""
echo "Or use psql (if you have database password):"
echo " psql 'postgresql://postgres:[PASSWORD]@db.dqugbrpwtisgyxscpefg.supabase.co:5432/postgres' -f $MIGRATION_FILE"
echo ""
# Alternative: Use Supabase Management API to apply migration
# This requires the service role key
# Uncomment if you want to use this method:
#
# echo "Applying migration via Supabase Management API..."
#
# MIGRATION_SQL=$(cat "$MIGRATION_FILE")
#
# curl -X POST \
# "${NEXT_PUBLIC_SUPABASE_URL}/rest/v1/rpc/exec" \
# -H "apikey: ${SUPABASE_SERVICE_ROLE_KEY}" \
# -H "Authorization: Bearer ${SUPABASE_SERVICE_ROLE_KEY}" \
# -H "Content-Type: application/json" \
# -d "{\"query\": $(jq -Rs . <<< "$MIGRATION_SQL")}"
echo "✅ Script completed. Please apply the migration manually as described above."