#!/usr/bin/env python3 """ Создание таблиц для настроек пользователей и моделей LLM """ import psycopg2 from psycopg2.extras import RealDictCursor # Конфигурация БД DB_CONFIG = { 'host': '147.45.189.234', 'port': 5432, 'database': 'default_db', 'user': 'gen_user', 'password': '2~~9_^kVsU?2\\S' } def create_tables(): """Создание таблиц для настроек пользователей""" try: conn = psycopg2.connect(**DB_CONFIG, cursor_factory=RealDictCursor) cur = conn.cursor() print("🔗 Подключение к БД установлено") # Читаем SQL файл with open('user_settings_schema.sql', 'r', encoding='utf-8') as f: sql_content = f.read() # Выполняем SQL cur.execute(sql_content) conn.commit() print("✅ Таблицы созданы успешно!") # Проверяем созданные таблицы cur.execute(""" SELECT table_name FROM information_schema.tables WHERE table_schema = 'public' AND table_name IN ('user_settings', 'llm_models') ORDER BY table_name; """) tables = cur.fetchall() print(f"📊 Созданы таблицы: {[t['table_name'] for t in tables]}") # Проверяем количество моделей cur.execute("SELECT provider, COUNT(*) as count FROM llm_models GROUP BY provider ORDER BY provider;") models = cur.fetchall() print("\n📋 Модели по провайдерам:") for model in models: print(f" {model['provider']}: {model['count']} моделей") cur.close() conn.close() print("\n🎉 Готово! Теперь можно использовать БД для настроек пользователей.") except Exception as e: print(f"❌ Ошибка: {e}") if __name__ == "__main__": create_tables()