""" Миграция: Добавление таблицы для аудита почты """ import sqlite3 import os from pathlib import Path def migrate(): # Путь к БД base_dir = Path(__file__).resolve().parent.parent db_path = base_dir / 'database' / 'domovoy.db' print(f"Миграция БД: {db_path}") if not db_path.exists(): print("Ошибка: БД не найдена!") return conn = sqlite3.connect(db_path) cursor = conn.cursor() try: # Создаем таблицу email_audit cursor.execute(''' CREATE TABLE IF NOT EXISTS email_audit ( id INTEGER PRIMARY KEY AUTOINCREMENT, domain TEXT UNIQUE NOT NULL, description TEXT, inbound_count INTEGER DEFAULT 0, outbound_count INTEGER DEFAULT 0, last_email_date DATETIME, updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ) ''') # Добавляем таблицу для логов экспорта (чтобы бот знал когда был последний запуск) cursor.execute(''' CREATE TABLE IF NOT EXISTS email_export_logs ( id INTEGER PRIMARY KEY AUTOINCREMENT, start_time DATETIME DEFAULT CURRENT_TIMESTAMP, end_time DATETIME, status TEXT, new_emails_count INTEGER DEFAULT 0, report_path TEXT ) ''') conn.commit() print("✅ Таблицы email_audit и email_export_logs успешно созданы") except Exception as e: print(f"❌ Ошибка при миграции: {e}") conn.rollback() finally: conn.close() if __name__ == '__main__': migrate()