20260201_add_system_config_and_key_settings.sql 1.9 KB

12345678910111213141516171819202122232425
  1. -- 创建 system_config 表
  2. CREATE TABLE IF NOT EXISTS `system_config` (
  3. `id` INT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  4. `config_key` VARCHAR(100) NOT NULL COMMENT '配置键名',
  5. `config_value` VARCHAR(500) NOT NULL COMMENT '配置值',
  6. `config_type` ENUM('int', 'string', 'bool', 'json') DEFAULT 'string' COMMENT '配置值类型',
  7. `app_name` VARCHAR(100) DEFAULT 'backend-admin' COMMENT '所属应用:backend-admin、backend-client,多个用逗号拼接',
  8. `description` VARCHAR(255) COMMENT '配置描述',
  9. `is_system` TINYINT DEFAULT 1 COMMENT '是否为系统配置:1-是,0-否',
  10. `is_editable` TINYINT DEFAULT 1 COMMENT '是否可编辑:1-是,0-否',
  11. `is_deleted` TINYINT DEFAULT 0 COMMENT '是否删除:0-否,1-是',
  12. `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  13. `updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  14. PRIMARY KEY (`id`),
  15. UNIQUE KEY `uk_config_key` (`config_key`),
  16. KEY `idx_config_key` (`config_key`)
  17. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='系统配置表';
  18. -- 初始化密钥管理相关配置(属于 backend-admin)
  19. INSERT INTO `system_config` (`config_key`, `config_value`, `config_type`, `app_name`, `description`, `is_system`, `is_editable`) VALUES
  20. ('key_expire_minutes', '60', 'int', 'backend-admin', '密钥过期时间(分钟)', 1, 1),
  21. ('key_advance_generate_minutes', '10', 'int', 'backend-admin', '提前生成新密钥的时间(分钟),在密钥过期前此时间自动生成新密钥', 1, 1),
  22. ('key_expiry_check_interval_seconds', '60', 'int', 'backend-admin', '密钥过期检查任务的执行间隔(秒)', 1, 1),
  23. ('admin_config_refresh_interval_seconds', '60', 'int', 'backend-admin', '管理端配置缓存刷新间隔(秒)', 1, 1)
  24. ON DUPLICATE KEY UPDATE `description` = VALUES(`description`);