| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- -- Migration: 添加客户端历史记录表
- -- Date: 2026-02-02
- -- Description: 添加缺失的历史记录表:sessions_his, system_config_his, api_nonces_his
- -- 这些表用于记录主表操作的历史记录,支持审计和回溯
- SET NAMES utf8mb4;
- SET FOREIGN_KEY_CHECKS = 0;
- -- ==================== 会话历史记录表 ====================
- -- ----------------------------
- -- Table structure for sessions_his (会话表历史记录)
- -- ----------------------------
- DROP TABLE IF EXISTS `sessions_his`;
- CREATE TABLE `sessions_his` (
- `id` int(11) NOT NULL COMMENT '原表主键ID',
- `session_id` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '会话ID',
- `user_id` int(11) NOT NULL COMMENT '用户ID',
- `machine_code` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '机器码',
- `is_active` tinyint(1) DEFAULT '1' COMMENT '是否激活',
- `expires_at` datetime NOT NULL COMMENT '过期时间',
- `created_at` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- `updated_at` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
- `his_created_at` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '历史记录创建时间',
- `his_operation` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '操作类型: INSERT/UPDATE/DELETE/RENEW',
- PRIMARY KEY (`id`, `his_created_at`),
- KEY `idx_his_created_at` (`his_created_at`),
- KEY `idx_user_id` (`user_id`),
- KEY `idx_session_id` (`session_id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='会话表历史记录';
- -- ==================== 系统配置历史记录表 ====================
- -- ----------------------------
- -- Table structure for system_config_his (系统配置表历史记录)
- -- ----------------------------
- DROP TABLE IF EXISTS `system_config_his`;
- CREATE TABLE `system_config_his` (
- `id` int(11) NOT NULL COMMENT '原表主键ID',
- `config_key` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '配置键名',
- `config_value` text COLLATE utf8mb4_unicode_ci COMMENT '配置值',
- `config_type` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT 'string' COMMENT '类型: int/string/bool/json',
- `app_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '所属应用',
- `description` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '配置描述',
- `is_system` tinyint(1) DEFAULT '0' COMMENT '是否系统配置',
- `is_editable` tinyint(1) DEFAULT '1' COMMENT '是否可编辑',
- `is_deleted` tinyint(1) DEFAULT '0' COMMENT '是否删除',
- `created_at` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- `updated_at` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
- `his_created_at` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '历史记录创建时间',
- `his_operation` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '操作类型: INSERT/UPDATE/DELETE',
- PRIMARY KEY (`id`, `his_created_at`),
- KEY `idx_his_created_at` (`his_created_at`),
- KEY `idx_config_key` (`config_key`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4_unicode_ci COMMENT='系统配置表历史记录';
- -- ==================== API Nonce历史记录表 ====================
- -- ----------------------------
- -- Table structure for api_nonces_his (API Nonce表历史记录)
- -- ----------------------------
- DROP TABLE IF EXISTS `api_nonces_his`;
- CREATE TABLE `api_nonces_his` (
- `id` int(11) NOT NULL COMMENT '原表主键ID',
- `nonce` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '随机字符串',
- `endpoint` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '接口路径',
- `session_id` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '会话ID',
- `created_at` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- `expires_at` datetime NOT NULL COMMENT '过期时间',
- `his_created_at` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '历史记录创建时间',
- `his_operation` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '操作类型: INSERT/UPDATE/DELETE',
- PRIMARY KEY (`id`, `his_created_at`),
- KEY `idx_his_created_at` (`his_created_at`),
- KEY `idx_nonce` (`nonce`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='API Nonce表历史记录';
- SET FOREIGN_KEY_CHECKS = 1;
|