"""
Миграция v1.6: создать таблицу payment_reminders для напоминаний о платежах
"""
import sqlite3
import asyncio

DB_PATH = 'database/domovoy.db'


async def migrate():
    """Создать таблицу payment_reminders"""
    conn = sqlite3.connect(DB_PATH)
    cursor = conn.cursor()

    # Проверяем, есть ли уже таблица payment_reminders
    cursor.execute("SELECT name FROM sqlite_master WHERE type='table' AND name='payment_reminders'")
    existing = cursor.fetchone()

    if existing:
        print("ℹ️ Таблица payment_reminders уже существует")
    else:
        print("➕ Создаём таблицу payment_reminders...")
        
        cursor.execute("""
            CREATE TABLE payment_reminders (
                reminder_id INTEGER PRIMARY KEY AUTOINCREMENT,
                title TEXT NOT NULL,
                amount INTEGER,
                due_date TIMESTAMP NOT NULL,
                description TEXT,
                payment_link TEXT,
                is_recurring BOOLEAN DEFAULT 1,
                created_by BIGINT,
                created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
                is_active BOOLEAN DEFAULT 1,
                last_reminder_sent TIMESTAMP,
                FOREIGN KEY (created_by) REFERENCES users(user_id)
            )
        """)
        
        # Создаём индексы
        cursor.execute("CREATE INDEX ix_payment_reminders_due_date ON payment_reminders(due_date)")
        cursor.execute("CREATE INDEX ix_payment_reminders_active ON payment_reminders(is_active)")
        
        print("✅ Таблица payment_reminders создана")
        print("✅ Индексы созданы")

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


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