Files
smom-dbis-138/services/token-aggregation/scripts/run-migrations.sh
2026-03-02 12:14:09 -08:00

65 lines
1.8 KiB
Bash
Executable File

#!/usr/bin/env bash
# Run Database Migrations for Token Aggregation Service
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
SERVICE_DIR="$SCRIPT_DIR/.."
MIGRATIONS_DIR="$PROJECT_ROOT/explorer-monorepo/backend/database/migrations"
# Load environment
if [[ -f "$SERVICE_DIR/.env" ]]; then
set -a
source "$SERVICE_DIR/.env"
set +a
fi
DATABASE_URL="${DATABASE_URL:-postgresql://postgres:postgres@localhost:5432/explorer_db}"
echo "Running database migrations for Token Aggregation Service"
echo "Database: ${DATABASE_URL%%@*}"
echo ""
# Migration files
MIGRATION_0011="$MIGRATIONS_DIR/0011_token_aggregation_schema.up.sql"
MIGRATION_0012="$MIGRATIONS_DIR/0012_admin_config_schema.up.sql"
MIGRATION_0013="$MIGRATIONS_DIR/0013_update_token_logos_ipfs.up.sql"
# Check if migrations exist
if [[ ! -f "$MIGRATION_0011" ]]; then
echo "❌ Migration 0011 not found: $MIGRATION_0011"
exit 1
fi
if [[ ! -f "$MIGRATION_0012" ]]; then
echo "❌ Migration 0012 not found: $MIGRATION_0012"
exit 1
fi
# Test connection
if ! psql "$DATABASE_URL" -c "SELECT 1;" > /dev/null 2>&1; then
echo "❌ Database connection failed"
exit 1
fi
# Run migrations
echo "Running migration 0011: Token Aggregation Schema..."
psql "$DATABASE_URL" -f "$MIGRATION_0011"
echo "✅ Migration 0011 completed"
echo ""
echo "Running migration 0012: Admin Configuration Schema..."
psql "$DATABASE_URL" -f "$MIGRATION_0012"
echo "✅ Migration 0012 completed"
if [[ -f "$MIGRATION_0013" ]]; then
echo ""
echo "Running migration 0013: Update token logos to IPFS..."
psql "$DATABASE_URL" -f "$MIGRATION_0013"
echo "✅ Migration 0013 completed"
fi
echo ""
echo "✅ All migrations completed successfully"