"""
Миграция v1.9: добавить поля для рейтинга токсичности
"""
import sqlite3
import asyncio

DB_PATH = 'database/domovoy.db'


async def migrate():
    """Добавить поля для токсичности"""
    conn = sqlite3.connect(DB_PATH)
    cursor = conn.cursor()

    # Проверяем есть ли поля в users
    cursor.execute("PRAGMA table_info(users)")
    columns = [col[1] for col in cursor.fetchall()]

    if 'toxicity_score' not in columns:
        print("➕ Добавляем поле toxicity_score...")
        cursor.execute("ALTER TABLE users ADD COLUMN toxicity_score INTEGER DEFAULT 0")
        print("✅ Поле toxicity_score добавлено")
    else:
        print("ℹ️ Поле toxicity_score уже существует")

    if 'toxic_messages_count' not in columns:
        print("➕ Добавляем поле toxic_messages_count...")
        cursor.execute("ALTER TABLE users ADD COLUMN toxic_messages_count INTEGER DEFAULT 0")
        print("✅ Поле toxic_messages_count добавлено")
    else:
        print("ℹ️ Поле toxic_messages_count уже существует")

    if 'complaints_count' not in columns:
        print("➕ Добавляем поле complaints_count...")
        cursor.execute("ALTER TABLE users ADD COLUMN complaints_count INTEGER DEFAULT 0")
        print("✅ Поле complaints_count добавлено")
    else:
        print("ℹ️ Поле complaints_count уже существует")

    conn.commit()
    conn.close()
    print("✅ Миграция v1.9 завершена!")


if __name__ == '__main__':
    asyncio.run(migrate())
