import requests import json import time def clear_all_databases(): """Clear all databases and reset the system""" base_url = "http://localhost:3015" api_key = "jleu1212" print("=== CLEARING ALL DATABASES ===") headers = {"X-API-Key": api_key} # 1. Get current document status print("1. Getting current document status...") try: response = requests.get(f"{base_url}/documents", headers=headers) if response.status_code == 200: docs_data = response.json() processed = docs_data.get('statuses', {}).get('PROCESSED', []) failed = docs_data.get('statuses', {}).get('FAILED', []) print(f" Found {len(processed)} processed documents") print(f" Found {len(failed)} failed documents") else: print(f" Could not get document status: {response.status_code}") except Exception as e: print(f" Error getting document status: {e}") # 2. Clear documents via API if endpoint exists print("2. Clearing documents...") try: # Try to clear via documents endpoint clear_response = requests.delete(f"{base_url}/documents", headers=headers) if clear_response.status_code in [200, 204]: print(" ✅ Documents cleared via API") else: print(f" ⚠️ API clear returned: {clear_response.status_code}") except Exception as e: print(f" ⚠️ API clear failed: {e}") # 3. Clear storage directories manually print("3. Clearing storage directories...") import shutil import os directories_to_clear = [ "rag_storage", "test_rag_storage", "test_indexing_workspace", "real_test_workspace", "test_optimization_workspace" ] for directory in directories_to_clear: if os.path.exists(directory): try: shutil.rmtree(directory) print(f" ✅ Cleared: {directory}") except Exception as e: print(f" ❌ Failed to clear {directory}: {e}") else: print(f" ⏭️ Directory not found: {directory}") # 4. Verify system is clean print("4. Verifying clean state...") time.sleep(2) # Wait for cleanup try: response = requests.get(f"{base_url}/documents", headers=headers) if response.status_code == 200: docs_data = response.json() total_docs = sum(len(docs) for docs in docs_data.get('statuses', {}).values()) print(f" Total documents remaining: {total_docs}") if total_docs == 0: print(" ✅ System is clean") else: print(" ⚠️ Some documents may still exist") else: print(f" ⚠️ Could not verify clean state: {response.status_code}") except Exception as e: print(f" ⚠️ Verification failed: {e}") print("\n=== DATABASE CLEANUP COMPLETE ===") return True if __name__ == "__main__": success = clear_all_databases() exit(0 if success else 1)