import os import sqlite3 # Автопоиск файла базы данных в проекте db_path = 'data/scud_orion_ai.db' if os.path.exists('data/scud_orion_ai.db') else 'scud_orion_ai.db' print("=" * 80) print(f"🔍 ДИАГНОСТИКА СУБД SQLITE: {db_path}") print("=" * 80) if not os.path.exists(db_path): print(f"❌ Файл базы данных {db_path} не найден!") exit(1) conn = sqlite3.connect(db_path) cursor = conn.cursor() # 1. Список всех таблиц и колонок cursor.execute("SELECT name FROM sqlite_master WHERE type='table' ORDER BY name") tables = [t[0] for t in cursor.fetchall()] print("\n📋 СТРУКТУРА ТАБЛИЦ И КОЛИЧЕСТВО ЗАПИСЕЙ:") print("-" * 80) for t_name in tables: cursor.execute(f"PRAGMA table_info({t_name})") cols = [c[1] for c in cursor.fetchall()] cursor.execute(f"SELECT COUNT(*) FROM {t_name}") count = cursor.fetchone()[0] print(f"• [{t_name:<20}] — {count:>6} строк | Колонки: {cols}") # 2. Просмотр правил Базы Знаний if 'ai_knowledge_base' in tables: print("\n" + "=" * 80) print("🧠 АКТУАЛЬНЫЕ ПРАВИЛА БАЗЫ ЗНАНИЙ (ai_knowledge_base):") print("=" * 80) cursor.execute("SELECT id, rule_text, added_by FROM ai_knowledge_base ORDER BY id ASC") rules = cursor.fetchall() if not rules: print("Таблица ai_knowledge_base пуста.") else: for r_id, r_text, r_author in rules: print(f" {r_id}. [{r_author}] {r_text}\n") conn.close() print("=" * 80)