# Skip Migrations - Just Start Blockscout

## Problem
The `Explorer.Release.migrate()` function is not available in the eval context, causing the container to restart repeatedly.

## Solution
Since the database tables already exist (verified earlier), we can skip migrations and just start Blockscout directly.

## Commands

```bash
cd /opt/blockscout

# Update docker-compose.yml to just start (no migrations)
python3 << 'PYTHON'
with open('docker-compose.yml', 'r') as f:
    lines = f.readlines()

new_lines = []
i = 0
while i < len(lines):
    line = lines[i]
    # Check if this is a command line
    if 'command:' in line:
        indent = len(line) - len(line.lstrip())
        # Replace with simple start command
        new_lines.append(' ' * indent + 'command: bin/blockscout start\n')
        i += 1
        # Skip the list items (- sh, -c, etc.)
        while i < len(lines) and lines[i].strip().startswith('-'):
            i += 1
        continue
    new_lines.append(line)
    i += 1

with open('docker-compose.yml', 'w') as f:
    f.writelines(new_lines)

print("✅ Updated to just start (no migrations)")
PYTHON

# Verify
grep -A 1 "command:" docker-compose.yml

# Restart
docker-compose down blockscout
docker-compose up -d blockscout

# Check status
sleep 30
docker ps | grep blockscout
docker logs blockscout 2>&1 | tail -30
```

## Why This Works

1. **Tables already exist**: We verified that `migrations_status`, `blocks`, and `transactions` tables exist
2. **Migrations were run**: The tables wouldn't exist if migrations hadn't been run previously
3. **Release module unavailable**: The `Explorer.Release` module is only available in certain contexts, not in regular eval

## Alternative: If Migrations Are Needed Later

If you need to run migrations in the future, you can:

1. Use a one-off container:
```bash
docker run --rm \
  --network host \
  -e DATABASE_URL=postgresql://blockscout:blockscout@localhost:5432/blockscout \
  blockscout/blockscout:latest \
  bin/blockscout eval "Application.ensure_all_started(:explorer); Explorer.Release.migrate()"
```

2. Or connect to the running container and run migrations manually:
```bash
docker exec -it blockscout bin/blockscout remote
# Then in the remote console:
Explorer.Release.migrate()
```

But for now, since tables exist, just starting Blockscout should work.

