58 lines
1.6 KiB
Bash
58 lines
1.6 KiB
Bash
|
|
#!/bin/bash
|
||
|
|
# Run migration 0010_track_schema.up.sql
|
||
|
|
|
||
|
|
set -e
|
||
|
|
|
||
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||
|
|
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
||
|
|
MIGRATION_DIR="$PROJECT_ROOT/backend/database/migrations"
|
||
|
|
MIGRATION_FILE="$MIGRATION_DIR/0010_track_schema.up.sql"
|
||
|
|
|
||
|
|
echo "=== Running Track Schema Migration (0010) ==="
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# Check if migration file exists
|
||
|
|
if [ ! -f "$MIGRATION_FILE" ]; then
|
||
|
|
echo "❌ Migration file not found: $MIGRATION_FILE"
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
|
||
|
|
# Load database config from environment or use defaults
|
||
|
|
DB_HOST="${DB_HOST:-localhost}"
|
||
|
|
DB_PORT="${DB_PORT:-5432}"
|
||
|
|
DB_USER="${DB_USER:-explorer}"
|
||
|
|
DB_PASSWORD="${DB_PASSWORD:-changeme}"
|
||
|
|
DB_NAME="${DB_NAME:-explorer}"
|
||
|
|
|
||
|
|
echo "Database: $DB_NAME@$DB_HOST:$DB_PORT"
|
||
|
|
echo "User: $DB_USER"
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# Run migration using psql
|
||
|
|
export PGPASSWORD="$DB_PASSWORD"
|
||
|
|
|
||
|
|
if psql -h "$DB_HOST" -p "$DB_PORT" -U "$DB_USER" -d "$DB_NAME" -f "$MIGRATION_FILE"; then
|
||
|
|
echo ""
|
||
|
|
echo "✅ Migration 0010_track_schema.up.sql completed successfully"
|
||
|
|
echo ""
|
||
|
|
echo "Created tables:"
|
||
|
|
echo " - addresses (Track 2)"
|
||
|
|
echo " - token_transfers (Track 2)"
|
||
|
|
echo " - token_balances (Track 2)"
|
||
|
|
echo " - internal_transactions (Track 2)"
|
||
|
|
echo " - analytics_flows (Track 3)"
|
||
|
|
echo " - analytics_bridge_history (Track 3)"
|
||
|
|
echo " - token_distribution (Track 3 - materialized view)"
|
||
|
|
echo " - operator_events (Track 4)"
|
||
|
|
echo " - operator_ip_whitelist (Track 4)"
|
||
|
|
echo " - operator_roles (Track 4)"
|
||
|
|
echo " - wallet_nonces (Authentication)"
|
||
|
|
else
|
||
|
|
echo ""
|
||
|
|
echo "❌ Migration failed"
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
|
||
|
|
unset PGPASSWORD
|
||
|
|
|