-- ---------------------------- -- system_config_his 表模型(与 system_config 镜像 + his 字段,遵循「先写 his 再改/删」) -- 历史表不做 config_key 唯一约束,允许同一配置键多条历史记录。 -- ---------------------------- 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` varchar(500) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '配置值', `config_type` enum('int','string','bool','json') COLLATE utf8mb4_unicode_ci DEFAULT 'string' COMMENT '配置值类型', `app_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT 'backend-admin' COMMENT '所属应用:backend-admin、backend-client,多个用逗号拼接', `description` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '配置描述', `is_system` tinyint(1) DEFAULT '1' COMMENT '是否为系统配置:1-是,0-否', `is_editable` tinyint(1) DEFAULT '1' COMMENT '是否可编辑:1-是,0-否', `is_deleted` tinyint(1) DEFAULT '0' COMMENT '是否删除:0-否,1-是', `created_at` datetime DEFAULT NULL COMMENT '创建时间', `updated_at` datetime DEFAULT NULL COMMENT '更新时间', `his_created_at` datetime NOT NULL 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_system_config_his_config_key` (`config_key`), KEY `idx_system_config_his_his_created_at` (`his_created_at`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='系统配置表历史记录(与 system_config 镜像)';