Перед переделкой, с учетом пробемы сбоя скуд и аномалиями входа сотрудников. ИИ должен фиксироать массовые сбои работы проекта.
This commit is contained in:
@@ -0,0 +1,40 @@
|
|||||||
|
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()
|
||||||
Reference in New Issue
Block a user