69 lines
2.1 KiB
Python
69 lines
2.1 KiB
Python
|
|
#!/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()
|
||
|
|
|
||
|
|
|
||
|
|
|