Add full monorepo: virtual-banker, backend, frontend, docs, scripts, deployment
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
77
scripts/verify-blockscout-db.sh
Executable file
77
scripts/verify-blockscout-db.sh
Executable file
@@ -0,0 +1,77 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Script to verify Blockscout database configuration and tables
|
||||
# Run from Proxmox host or inside VMID 5000
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
VMID=5000
|
||||
|
||||
echo "=========================================="
|
||||
echo "Blockscout Database Verification"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
|
||||
# Check if running from Proxmox host or inside container
|
||||
if [ -f "/proc/1/cgroup" ] && grep -q "lxc" /proc/1/cgroup 2>/dev/null; then
|
||||
# Inside LXC container
|
||||
echo "Running inside VMID 5000"
|
||||
EXEC_PREFIX=""
|
||||
else
|
||||
# On Proxmox host
|
||||
echo "Running from Proxmox host, executing in VMID 5000"
|
||||
EXEC_PREFIX="pct exec $VMID --"
|
||||
fi
|
||||
|
||||
# Verify database credentials
|
||||
echo "=== Database Credentials ==="
|
||||
$EXEC_PREFIX docker exec -it blockscout-postgres env | grep -E 'POSTGRES_(USER|DB|PASSWORD)' || {
|
||||
echo "❌ Cannot access blockscout-postgres container"
|
||||
exit 1
|
||||
}
|
||||
echo ""
|
||||
|
||||
# Test database connection
|
||||
echo "=== Database Connection Test ==="
|
||||
$EXEC_PREFIX docker exec -it blockscout-postgres psql -U blockscout -d blockscout -c "SELECT version();" 2>&1 | head -3
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "✅ Database connection successful"
|
||||
else
|
||||
echo "❌ Database connection failed"
|
||||
exit 1
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# Check for critical tables
|
||||
echo "=== Critical Tables Check ==="
|
||||
$EXEC_PREFIX docker exec -it blockscout-postgres psql -U blockscout -d blockscout << 'SQL'
|
||||
SELECT
|
||||
CASE WHEN EXISTS (SELECT 1 FROM information_schema.tables WHERE table_name = 'blocks')
|
||||
THEN '✅ blocks' ELSE '❌ blocks MISSING' END as blocks,
|
||||
CASE WHEN EXISTS (SELECT 1 FROM information_schema.tables WHERE table_name = 'transactions')
|
||||
THEN '✅ transactions' ELSE '❌ transactions MISSING' END as transactions,
|
||||
CASE WHEN EXISTS (SELECT 1 FROM information_schema.tables WHERE table_name = 'migrations_status')
|
||||
THEN '✅ migrations_status' ELSE '❌ migrations_status MISSING' END as migrations_status,
|
||||
CASE WHEN EXISTS (SELECT 1 FROM information_schema.tables WHERE table_name = 'addresses')
|
||||
THEN '✅ addresses' ELSE '❌ addresses MISSING' END as addresses,
|
||||
CASE WHEN EXISTS (SELECT 1 FROM information_schema.tables WHERE table_name = 'smart_contracts')
|
||||
THEN '✅ smart_contracts' ELSE '❌ smart_contracts MISSING' END as smart_contracts;
|
||||
SQL
|
||||
|
||||
echo ""
|
||||
|
||||
# Count total tables
|
||||
echo "=== Database Statistics ==="
|
||||
$EXEC_PREFIX docker exec -it blockscout-postgres psql -U blockscout -d blockscout -c "
|
||||
SELECT
|
||||
COUNT(*) as total_tables,
|
||||
(SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = 'public' AND table_name IN ('blocks', 'transactions', 'migrations_status')) as critical_tables_exist
|
||||
FROM information_schema.tables
|
||||
WHERE table_schema = 'public';
|
||||
"
|
||||
|
||||
echo ""
|
||||
echo "=========================================="
|
||||
echo "Verification complete!"
|
||||
echo "=========================================="
|
||||
|
||||
Reference in New Issue
Block a user