""" Миграция v1.10: создать таблицу profile_history для истории изменений профиля """ import sqlite3 import asyncio DB_PATH = 'database/domovoy.db' async def migrate(): """Создать таблицу profile_history""" conn = sqlite3.connect(DB_PATH) cursor = conn.cursor() # Проверяем, есть ли уже таблица profile_history cursor.execute("SELECT name FROM sqlite_master WHERE type='table' AND name='profile_history'") existing = cursor.fetchone() if existing: print("ℹ️ Таблица profile_history уже существует") else: print("➕ Создаём таблицу profile_history...") cursor.execute(""" CREATE TABLE profile_history ( id INTEGER PRIMARY KEY AUTOINCREMENT, user_id BIGINT NOT NULL, field_name TEXT NOT NULL, old_value TEXT, new_value TEXT, changed_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (user_id) REFERENCES users(user_id) ) """) # Создаём индексы cursor.execute("CREATE INDEX ix_profile_history_user ON profile_history(user_id)") cursor.execute("CREATE INDEX ix_profile_history_field ON profile_history(field_name)") cursor.execute("CREATE INDEX ix_profile_history_time ON profile_history(changed_at)") print("✅ Таблица profile_history создана") print("✅ Индексы созданы") conn.commit() conn.close() print("✅ Миграция v1.10 завершена!") if __name__ == '__main__': asyncio.run(migrate())