-- 创建充值记录历史表 -- 用于记录 recharge_records 表的变更历史,支持审计和追溯 CREATE TABLE IF NOT EXISTS `recharge_records_his` ( `id` INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID', `user_id` INT UNSIGNED NOT NULL COMMENT '用户ID', `card_id` INT UNSIGNED NOT NULL COMMENT '卡密ID', `software_code` VARCHAR(50) NOT NULL COMMENT '软件特征码', `days` INT UNSIGNED NOT NULL COMMENT '充值天数', `expire_time_before` DATETIME DEFAULT NULL COMMENT '充值前到期时间', `expire_time_after` DATETIME DEFAULT NULL COMMENT '充值后到期时间', `created_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', `record_id` INT UNSIGNED NOT NULL COMMENT '原始记录ID', `created_at_his` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '历史记录创建时间', PRIMARY KEY (`id`), KEY `idx_user_id` (`user_id`), KEY `idx_record_id` (`record_id`), KEY `idx_action_type` (`action_type`), KEY `idx_created_at` (`created_at_his`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='充值记录历史表';