phase 17: restore script — per-bucket size reporting, full DB row count verification

This commit is contained in:
Celes Renata
2026-04-12 14:53:19 -07:00
parent 85e0ef7580
commit 527be42f82
+18 -3
View File
@@ -90,17 +90,32 @@ spec:
for bucket in stonks-raw-market stonks-raw-news stonks-raw-filings stonks-normalized stonks-llm-prompts stonks-llm-results stonks-lakehouse stonks-audit; do
if [ -d "\${DIR}/minio/\${bucket}" ]; then
echo " Restoring \${bucket}..."
BCOUNT=\$(find "\${DIR}/minio/\${bucket}/" -type f 2>/dev/null | wc -l)
BSIZE=\$(du -sh "\${DIR}/minio/\${bucket}/" 2>/dev/null | cut -f1)
echo " Restoring \${bucket}: \${BSIZE} (\${BCOUNT} files)..."
mc mb --ignore-existing "backup/\${bucket}" 2>/dev/null || true
mc mirror --overwrite --quiet "\${DIR}/minio/\${bucket}/" "backup/\${bucket}" 2>/dev/null || echo " (empty or error)"
mc mirror --overwrite "\${DIR}/minio/\${bucket}/" "backup/\${bucket}" 2>&1 | tail -1
echo " \${bucket}: done"
else
echo " \${bucket}: not in backup, skipping"
fi
done
echo ""
echo "[3/3] Verifying..."
echo ""
echo "=== Restore Summary ==="
echo " PostgreSQL dump: \$(du -h "\${DIR}/stonks.pgdump" | cut -f1)"
PGPASSWORD="\${POSTGRES_PASSWORD}" psql \
-h "\${POSTGRES_HOST}" -p "\${POSTGRES_PORT}" \
-U "\${POSTGRES_USER}" -d "\${POSTGRES_DB}" \
-c "SELECT 'companies=' || count(*) FROM companies UNION ALL SELECT 'documents=' || count(*) FROM documents UNION ALL SELECT 'intelligence=' || count(*) FROM document_intelligence;"
-c "SELECT 'companies' as tbl, count(*) as rows FROM companies UNION ALL SELECT 'documents', count(*) FROM documents UNION ALL SELECT 'intelligence', count(*) FROM document_intelligence UNION ALL SELECT 'impacts', count(*) FROM document_impact_records UNION ALL SELECT 'trends', count(*) FROM trend_windows UNION ALL SELECT 'recommendations', count(*) FROM recommendations ORDER BY tbl;"
echo ""
echo " MinIO restored:"
for bucket in stonks-raw-market stonks-raw-news stonks-raw-filings stonks-normalized stonks-llm-prompts stonks-llm-results stonks-lakehouse stonks-audit; do
REMOTE_COUNT=\$(mc ls --recursive "backup/\${bucket}" 2>/dev/null | wc -l)
echo " \${bucket}: \${REMOTE_COUNT} objects"
done
echo "=== Restore complete ==="
EOJOB