-- 创建登录尝试历史记录表 -- 用于记录 login_attempts 表的变更历史,支持审计和追溯 CREATE TABLE IF NOT EXISTS `login_attempts_his` ( `id` INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID', `username` VARCHAR(100) NOT NULL COMMENT '用户名', `success` TINYINT(1) DEFAULT 0 COMMENT '是否成功: 1-成功, 0-失败', `machine_code` VARCHAR(255) DEFAULT NULL COMMENT '机器码', `ip_address` VARCHAR(45) DEFAULT NULL COMMENT 'IP地址', `user_agent` VARCHAR(500) DEFAULT NULL COMMENT '用户代理', `failure_reason` VARCHAR(255) DEFAULT NULL COMMENT '失败原因', `attempted_at` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '尝试时间', `action_type` VARCHAR(20) NOT NULL COMMENT '操作类型: INSERT/UPDATE/DELETE', `changed_fields` TEXT DEFAULT NULL COMMENT '变更字段(JSON格式)', `operator` VARCHAR(100) DEFAULT NULL COMMENT '操作者: system/user_id', `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间', PRIMARY KEY (`id`), KEY `idx_username` (`username`), KEY `idx_attempted_at` (`attempted_at`), KEY `idx_action_type` (`action_type`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='登录尝试历史记录表';