48 lines
1.4 KiB
Bash
Executable File
48 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
# Usage: SUPABASE_DB_URL="postgresql://postgres:..." bash db/05-verify.sh
|
|
set -e
|
|
|
|
SERVER="setia@ims.setia.com.my"
|
|
PORT=9321
|
|
|
|
echo "=== IMS Data Migration Verification ==="
|
|
echo ""
|
|
|
|
echo "--- Table row counts on NEW server ---"
|
|
ssh -p "$PORT" "$SERVER" "sudo -u postgres psql -d ims" <<'ENDSQL'
|
|
SELECT
|
|
tablename,
|
|
n_live_tup AS row_count
|
|
FROM pg_stat_user_tables
|
|
ORDER BY tablename;
|
|
ENDSQL
|
|
|
|
if [ -n "$SUPABASE_DB_URL" ]; then
|
|
echo ""
|
|
echo "--- Table row counts on SUPABASE (source) ---"
|
|
psql "$SUPABASE_DB_URL" <<'ENDSQL'
|
|
SELECT
|
|
tablename,
|
|
n_live_tup AS row_count
|
|
FROM pg_stat_user_tables
|
|
WHERE schemaname = 'public'
|
|
ORDER BY tablename;
|
|
ENDSQL
|
|
fi
|
|
|
|
echo ""
|
|
echo "--- Users with NULL password_hash (should be 0) ---"
|
|
ssh -p "$PORT" "$SERVER" "sudo -u postgres psql -d ims -c \"SELECT count(*) FROM users WHERE password_hash IS NULL;\""
|
|
|
|
echo ""
|
|
echo "--- Evidence files row count vs filesystem count ---"
|
|
ssh -p "$PORT" "$SERVER" "sudo -u postgres psql -d ims -c \"SELECT count(*) AS db_evidence_rows FROM evidence_files WHERE deleted = false;\""
|
|
ssh -p "$PORT" "$SERVER" "find /var/lib/ims/evidence -type f | wc -l"
|
|
|
|
echo ""
|
|
echo "--- pgvector embeddings check ---"
|
|
ssh -p "$PORT" "$SERVER" "sudo -u postgres psql -d ims -c \"SELECT count(*) AS incidents_with_embedding FROM incidents WHERE embedding IS NOT NULL;\""
|
|
|
|
echo ""
|
|
echo "=== Verification complete. Compare counts above. ==="
|