20260203_create_recharge_records_his.sql 1.3 KB

1234567891011121314151617181920212223
  1. -- 创建充值记录历史表
  2. -- 用于记录 recharge_records 表的变更历史,支持审计和追溯
  3. CREATE TABLE IF NOT EXISTS `recharge_records_his` (
  4. `id` INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  5. `user_id` INT UNSIGNED NOT NULL COMMENT '用户ID',
  6. `card_id` INT UNSIGNED NOT NULL COMMENT '卡密ID',
  7. `software_code` VARCHAR(50) NOT NULL COMMENT '软件特征码',
  8. `days` INT UNSIGNED NOT NULL COMMENT '充值天数',
  9. `expire_time_before` DATETIME DEFAULT NULL COMMENT '充值前到期时间',
  10. `expire_time_after` DATETIME DEFAULT NULL COMMENT '充值后到期时间',
  11. `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  12. `action_type` VARCHAR(20) NOT NULL COMMENT '操作类型: INSERT/UPDATE/DELETE',
  13. `changed_fields` TEXT DEFAULT NULL COMMENT '变更字段(JSON格式)',
  14. `operator` VARCHAR(100) DEFAULT NULL COMMENT '操作者: system/user_id',
  15. `record_id` INT UNSIGNED NOT NULL COMMENT '原始记录ID',
  16. `created_at_his` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '历史记录创建时间',
  17. PRIMARY KEY (`id`),
  18. KEY `idx_user_id` (`user_id`),
  19. KEY `idx_record_id` (`record_id`),
  20. KEY `idx_action_type` (`action_type`),
  21. KEY `idx_created_at` (`created_at_his`)
  22. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='充值记录历史表';