#!/bin/bash # Load environment variables from .env or .env.local if [ -f .env ]; then export $(grep -v '^#' .env | grep -v '^$' | xargs) elif [ -f .env.local ]; then export $(grep -v '^#' .env.local | grep -v '^$' | xargs) else echo "Error: No .env or .env.local file found" exit 1 fi # Check if required variables are set if [ -z "$DB_HOST" ] || [ -z "$DB_PORT" ] || [ -z "$DB_USER" ] || [ -z "$DB_NAME" ]; then echo "Error: Required database environment variables not set" echo "Required: DB_HOST, DB_PORT, DB_USER, DB_NAME" exit 1 fi # Run migration echo "Running database migration..." echo "Connecting to: $DB_HOST:$DB_PORT/$DB_NAME as $DB_USER" PGPASSWORD="$DB_PASSWORD" psql -h "$DB_HOST" -p "$DB_PORT" -U "$DB_USER" -d "$DB_NAME" -f migrations/001_create_tables.sql if [ $? -eq 0 ]; then echo "Migration completed successfully!" else echo "Migration failed!" exit 1 fi