""" Миграция 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())