system_config_his_table.sql 1.8 KB

1234567891011121314151617181920212223
  1. -- ----------------------------
  2. -- system_config_his 表模型(与 system_config 镜像 + his 字段,遵循「先写 his 再改/删」)
  3. -- 历史表不做 config_key 唯一约束,允许同一配置键多条历史记录。
  4. -- ----------------------------
  5. DROP TABLE IF EXISTS `system_config_his`;
  6. CREATE TABLE `system_config_his` (
  7. `id` int(11) NOT NULL COMMENT '原表主键ID',
  8. `config_key` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '配置键名',
  9. `config_value` varchar(500) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '配置值',
  10. `config_type` enum('int','string','bool','json') COLLATE utf8mb4_unicode_ci DEFAULT 'string' COMMENT '配置值类型',
  11. `app_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT 'backend-admin' COMMENT '所属应用:backend-admin、backend-client,多个用逗号拼接',
  12. `description` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '配置描述',
  13. `is_system` tinyint(1) DEFAULT '1' COMMENT '是否为系统配置:1-是,0-否',
  14. `is_editable` tinyint(1) DEFAULT '1' COMMENT '是否可编辑:1-是,0-否',
  15. `is_deleted` tinyint(1) DEFAULT '0' COMMENT '是否删除:0-否,1-是',
  16. `created_at` datetime DEFAULT NULL COMMENT '创建时间',
  17. `updated_at` datetime DEFAULT NULL COMMENT '更新时间',
  18. `his_created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '历史记录创建时间',
  19. `his_operation` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '操作类型:INSERT/UPDATE/DELETE',
  20. PRIMARY KEY (`id`,`his_created_at`),
  21. KEY `idx_system_config_his_config_key` (`config_key`),
  22. KEY `idx_system_config_his_his_created_at` (`his_created_at`)
  23. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='系统配置表历史记录(与 system_config 镜像)';