admin_logs.sql 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. -- Admin模块 - 管理员日志表
  2. -- 用于记录管理员的所有操作行为
  3. CREATE TABLE `kku_admin_logs` (
  4. `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  5. `admin_id` int(11) DEFAULT NULL COMMENT '管理员ID',
  6. `admin_name` varchar(100) NOT NULL DEFAULT '' COMMENT '管理员名称',
  7. `action_type` varchar(50) NOT NULL DEFAULT '' COMMENT '操作类型',
  8. `description` varchar(500) NOT NULL DEFAULT '' COMMENT '操作描述',
  9. `data` text COMMENT '操作数据(JSON格式)',
  10. `ip_address` varchar(45) NOT NULL DEFAULT '' COMMENT 'IP地址',
  11. `user_agent` text COMMENT '用户代理',
  12. `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  13. `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  14. PRIMARY KEY (`id`),
  15. KEY `idx_admin_id` (`admin_id`),
  16. KEY `idx_action_type` (`action_type`),
  17. KEY `idx_ip_address` (`ip_address`),
  18. KEY `idx_created_at` (`created_at`)
  19. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='管理员操作日志表';
  20. -- Admin模块 - 管理员设置表
  21. -- 用于存储管理员的个人设置和系统配置
  22. CREATE TABLE `kku_admin_settings` (
  23. `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  24. `admin_id` int(11) DEFAULT NULL COMMENT '管理员ID,NULL表示系统全局设置',
  25. `setting_key` varchar(100) NOT NULL DEFAULT '' COMMENT '设置键名',
  26. `setting_value` text COMMENT '设置值',
  27. `setting_type` varchar(20) NOT NULL DEFAULT 'string' COMMENT '设置类型(string,int,bool,json)',
  28. `description` varchar(255) NOT NULL DEFAULT '' COMMENT '设置描述',
  29. `is_system` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否为系统设置(1:是 0:否)',
  30. `is_encrypted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否加密存储(1:是 0:否)',
  31. `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  32. `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  33. PRIMARY KEY (`id`),
  34. UNIQUE KEY `uk_admin_key` (`admin_id`, `setting_key`),
  35. KEY `idx_setting_key` (`setting_key`),
  36. KEY `idx_is_system` (`is_system`)
  37. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='管理员设置表';
  38. -- 插入一些默认的系统设置
  39. INSERT INTO `kku_admin_settings` (`admin_id`, `setting_key`, `setting_value`, `setting_type`, `description`, `is_system`) VALUES
  40. (NULL, 'dashboard_refresh_interval', '30', 'int', '仪表板刷新间隔(秒)', 1),
  41. (NULL, 'log_retention_days', '30', 'int', '日志保留天数', 1),
  42. (NULL, 'cache_default_ttl', '3600', 'int', '缓存默认TTL(秒)', 1),
  43. (NULL, 'maintenance_mode', '0', 'bool', '维护模式开关', 1),
  44. (NULL, 'backup_retention_days', '7', 'int', '备份保留天数', 1),
  45. (NULL, 'session_timeout', '7200', 'int', '会话超时时间(秒)', 1),
  46. (NULL, 'max_login_attempts', '5', 'int', '最大登录尝试次数', 1),
  47. (NULL, 'lockout_duration', '900', 'int', '锁定持续时间(秒)', 1);
  48. -- Admin模块 - 系统监控指标表
  49. -- 用于存储系统性能监控数据
  50. CREATE TABLE `kku_admin_metrics` (
  51. `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  52. `metric_type` varchar(50) NOT NULL DEFAULT '' COMMENT '指标类型(cpu,memory,disk,database等)',
  53. `metric_name` varchar(100) NOT NULL DEFAULT '' COMMENT '指标名称',
  54. `metric_value` decimal(10,4) NOT NULL DEFAULT 0.0000 COMMENT '指标值',
  55. `metric_unit` varchar(20) NOT NULL DEFAULT '' COMMENT '指标单位',
  56. `server_name` varchar(100) NOT NULL DEFAULT '' COMMENT '服务器名称',
  57. `collected_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '采集时间',
  58. `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  59. PRIMARY KEY (`id`),
  60. KEY `idx_metric_type` (`metric_type`),
  61. KEY `idx_metric_name` (`metric_name`),
  62. KEY `idx_collected_at` (`collected_at`),
  63. KEY `idx_server_name` (`server_name`)
  64. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='系统监控指标表';
  65. -- Admin模块 - 系统备份记录表
  66. -- 用于记录系统备份操作
  67. CREATE TABLE `kku_admin_backups` (
  68. `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  69. `backup_name` varchar(255) NOT NULL DEFAULT '' COMMENT '备份名称',
  70. `backup_type` varchar(50) NOT NULL DEFAULT '' COMMENT '备份类型(full,database,files,config)',
  71. `backup_path` varchar(500) NOT NULL DEFAULT '' COMMENT '备份文件路径',
  72. `backup_size` bigint(20) NOT NULL DEFAULT 0 COMMENT '备份文件大小(字节)',
  73. `backup_status` varchar(20) NOT NULL DEFAULT 'pending' COMMENT '备份状态(pending,running,completed,failed)',
  74. `admin_id` int(11) DEFAULT NULL COMMENT '操作管理员ID',
  75. `admin_name` varchar(100) NOT NULL DEFAULT '' COMMENT '操作管理员名称',
  76. `started_at` timestamp NULL DEFAULT NULL COMMENT '开始时间',
  77. `completed_at` timestamp NULL DEFAULT NULL COMMENT '完成时间',
  78. `error_message` text COMMENT '错误信息',
  79. `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  80. `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  81. PRIMARY KEY (`id`),
  82. KEY `idx_backup_type` (`backup_type`),
  83. KEY `idx_backup_status` (`backup_status`),
  84. KEY `idx_admin_id` (`admin_id`),
  85. KEY `idx_created_at` (`created_at`)
  86. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='系统备份记录表';
  87. -- Admin模块 - 系统通知表
  88. -- 用于存储系统通知和警报
  89. CREATE TABLE `kku_admin_notifications` (
  90. `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  91. `notification_type` varchar(50) NOT NULL DEFAULT '' COMMENT '通知类型(alert,warning,info,success)',
  92. `title` varchar(255) NOT NULL DEFAULT '' COMMENT '通知标题',
  93. `message` text NOT NULL COMMENT '通知内容',
  94. `data` text COMMENT '附加数据(JSON格式)',
  95. `admin_id` int(11) DEFAULT NULL COMMENT '目标管理员ID,NULL表示全体管理员',
  96. `is_read` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否已读(1:是 0:否)',
  97. `is_system` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否为系统通知(1:是 0:否)',
  98. `priority` tinyint(4) NOT NULL DEFAULT 1 COMMENT '优先级(1:低 2:中 3:高 4:紧急)',
  99. `expires_at` timestamp NULL DEFAULT NULL COMMENT '过期时间',
  100. `read_at` timestamp NULL DEFAULT NULL COMMENT '阅读时间',
  101. `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  102. `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  103. PRIMARY KEY (`id`),
  104. KEY `idx_notification_type` (`notification_type`),
  105. KEY `idx_admin_id` (`admin_id`),
  106. KEY `idx_is_read` (`is_read`),
  107. KEY `idx_is_system` (`is_system`),
  108. KEY `idx_priority` (`priority`),
  109. KEY `idx_created_at` (`created_at`)
  110. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='系统通知表';