import sqlite3 import os DB_PATH = 'data/scud_orion_ai.db' def migrate(): if not os.path.exists(DB_PATH): print(f"База данных {DB_PATH} не найдена. Создание будет выполнено при первом запуске.") return conn = sqlite3.connect(DB_PATH) cursor = conn.cursor() # Проверяем существующие колонки в таблице scud_logs cursor.execute("PRAGMA table_info(scud_logs);") columns = [row[1] for row in cursor.fetchall()] # Добавляем столбец first_activity (Первая активность) if 'first_activity' not in columns: cursor.execute("ALTER TABLE scud_logs ADD COLUMN first_activity TEXT DEFAULT '—';") print("Добавлена колонка 'first_activity'") # Добавляем столбец anomaly_flag (Флаг аномалии СКУД) if 'anomaly_flag' not in columns: cursor.execute("ALTER TABLE scud_logs ADD COLUMN anomaly_flag TEXT DEFAULT 'NONE';") print("Добавлена колонка 'anomaly_flag'") # Добавляем столбец snapshot_time (Время среза/выгрузки) if 'snapshot_time' not in columns: cursor.execute("ALTER TABLE scud_logs ADD COLUMN snapshot_time TEXT DEFAULT NULL;") print("Добавлена колонка 'snapshot_time'") conn.commit() conn.close() print("Миграция схемы БД успешно завершена!") if __name__ == "__main__": migrate()