-- 对象级操作日志表（航线、航点、平台等，支持回滚）
-- 执行前请根据实际库名修改
CREATE TABLE IF NOT EXISTS object_operation_log (
    id              BIGINT          NOT NULL AUTO_INCREMENT    COMMENT '主键',
    room_id         BIGINT          DEFAULT NULL               COMMENT '房间ID，非房间维度可为空',
    operator_id     BIGINT          DEFAULT NULL               COMMENT '操作人用户ID',
    operator_name   VARCHAR(64)     DEFAULT ''                 COMMENT '操作人姓名',
    operation_type  TINYINT         NOT NULL                   COMMENT '操作类型：1新增 2修改 3删除 4选择',
    object_type     VARCHAR(32)     NOT NULL                   COMMENT '操作对象类型：route/waypoint/platform',
    object_id       VARCHAR(64)     DEFAULT NULL               COMMENT '业务对象ID（如航线ID、航点ID）',
    object_name     VARCHAR(255)    DEFAULT ''                 COMMENT '对象显示名（如呼号、航点名）',
    detail          VARCHAR(500)   DEFAULT ''                 COMMENT '详细操作描述',
    snapshot_before TEXT            DEFAULT NULL               COMMENT '操作前快照JSON，用于回滚',
    snapshot_after  TEXT            DEFAULT NULL               COMMENT '操作后快照JSON',
    k_time          VARCHAR(32)     DEFAULT NULL               COMMENT '相对时间如 K+00:45:23',
    created_at      DATETIME        DEFAULT CURRENT_TIMESTAMP   COMMENT '创建时间',
    PRIMARY KEY (id),
    KEY idx_room_created (room_id, created_at DESC)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='对象级操作日志（支持回滚）';
