Add full monorepo: virtual-banker, backend, frontend, docs, scripts, deployment
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
112
docs/BLOCKSCOUT_FIX_FINAL.md
Normal file
112
docs/BLOCKSCOUT_FIX_FINAL.md
Normal file
@@ -0,0 +1,112 @@
|
||||
# Final Blockscout Fix - Corrected Commands
|
||||
|
||||
## Issues Found
|
||||
1. `Explorer.Release.migrate/0 is undefined` - Need to use `bin/blockscout migrate` instead
|
||||
2. docker-compose.yml syntax error - sed command created invalid YAML quotes
|
||||
|
||||
## Corrected Commands (Run in VMID 5000)
|
||||
|
||||
### Step 1: Run Migrations Using Correct Command
|
||||
|
||||
```bash
|
||||
# Use 'migrate' command instead of 'eval'
|
||||
docker run --rm \
|
||||
--network host \
|
||||
-e DATABASE_URL=postgresql://blockscout:blockscout@localhost:5432/blockscout \
|
||||
blockscout/blockscout:latest \
|
||||
bin/blockscout migrate
|
||||
```
|
||||
|
||||
### Step 2: Verify Tables
|
||||
|
||||
```bash
|
||||
docker exec blockscout-postgres psql -U blockscout -d blockscout -c "
|
||||
SELECT
|
||||
CASE WHEN EXISTS (SELECT 1 FROM information_schema.tables WHERE table_name = 'migrations_status')
|
||||
THEN '✅ migrations_status' ELSE '❌ MISSING' END,
|
||||
CASE WHEN EXISTS (SELECT 1 FROM information_schema.tables WHERE table_name = 'blocks')
|
||||
THEN '✅ blocks' ELSE '❌ MISSING' END,
|
||||
CASE WHEN EXISTS (SELECT 1 FROM information_schema.tables WHERE table_name = 'transactions')
|
||||
THEN '✅ transactions' ELSE '❌ MISSING' END;
|
||||
"
|
||||
```
|
||||
|
||||
### Step 3: Fix docker-compose.yml Properly
|
||||
|
||||
```bash
|
||||
cd /opt/blockscout
|
||||
|
||||
# Check current command
|
||||
grep -A 1 "command:" docker-compose.yml
|
||||
|
||||
# Backup
|
||||
cp docker-compose.yml docker-compose.yml.backup
|
||||
|
||||
# Method 1: Use Python to properly escape (if available)
|
||||
python3 << 'PYTHON'
|
||||
import re
|
||||
|
||||
with open('docker-compose.yml', 'r') as f:
|
||||
content = f.read()
|
||||
|
||||
# Replace command line with properly escaped version
|
||||
pattern = r'command:\s*.*blockscout start'
|
||||
replacement = 'command: sh -c "bin/blockscout migrate && bin/blockscout start"'
|
||||
|
||||
content = re.sub(pattern, replacement, content)
|
||||
|
||||
with open('docker-compose.yml', 'w') as f:
|
||||
f.write(content)
|
||||
|
||||
print("✅ Updated docker-compose.yml")
|
||||
PYTHON
|
||||
|
||||
# Method 2: Manual edit (if Python not available)
|
||||
# Edit docker-compose.yml manually and change:
|
||||
# command: /app/bin/blockscout start
|
||||
# To:
|
||||
# command: sh -c "bin/blockscout migrate && bin/blockscout start"
|
||||
```
|
||||
|
||||
### Step 4: Alternative - Edit docker-compose.yml Manually
|
||||
|
||||
If sed is causing issues, edit manually:
|
||||
|
||||
```bash
|
||||
cd /opt/blockscout
|
||||
nano docker-compose.yml # or vi docker-compose.yml
|
||||
|
||||
# Find the line with:
|
||||
# command: /app/bin/blockscout start
|
||||
# Or:
|
||||
# command: bin/blockscout start
|
||||
|
||||
# Replace with:
|
||||
# command: sh -c "bin/blockscout migrate && bin/blockscout start"
|
||||
|
||||
# Save and exit
|
||||
```
|
||||
|
||||
### Step 5: Restart
|
||||
|
||||
```bash
|
||||
cd /opt/blockscout
|
||||
docker-compose down blockscout
|
||||
docker-compose up -d blockscout
|
||||
|
||||
# Wait and check
|
||||
sleep 30
|
||||
docker ps | grep blockscout
|
||||
docker logs blockscout 2>&1 | tail -20
|
||||
```
|
||||
|
||||
## Complete One-Line Fix (Manual Edit Required)
|
||||
|
||||
```bash
|
||||
# Run migrations
|
||||
docker run --rm --network host -e DATABASE_URL=postgresql://blockscout:blockscout@localhost:5432/blockscout blockscout/blockscout:latest bin/blockscout migrate && \
|
||||
cd /opt/blockscout && \
|
||||
# Then manually edit docker-compose.yml to add: command: sh -c "bin/blockscout migrate && bin/blockscout start" && \
|
||||
docker-compose restart blockscout
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user