开发工具模块数据库设计
1. 数据库表概览
开发工具模块包含以下数据库表:
| 表名 |
描述 |
dev_tools |
存储开发工具基本信息 |
dev_logs |
存储开发日志记录 |
dev_configs |
存储开发配置项 |
2. 表结构详细设计
2.1 dev_tools 表
存储开发工具的基本信息。
字段定义
| 字段名 |
类型 |
允许空 |
默认值 |
描述 |
id |
bigint unsigned |
否 |
自增 |
主键ID |
name |
varchar(100) |
否 |
无 |
工具名称 |
description |
varchar(200) |
是 |
NULL |
工具描述 |
status |
tinyint |
否 |
1 |
状态:0-禁用,1-启用 |
created_at |
timestamp |
是 |
NULL |
创建时间 |
updated_at |
timestamp |
是 |
NULL |
更新时间 |
deleted_at |
timestamp |
是 |
NULL |
删除时间 |
索引
| 索引名 |
类型 |
字段 |
PRIMARY |
主键 |
id |
idx_name |
普通索引 |
name |
idx_status |
普通索引 |
status |
2.2 dev_logs 表
存储开发日志记录。
字段定义
| 字段名 |
类型 |
允许空 |
默认值 |
描述 |
id |
bigint unsigned |
否 |
自增 |
主键ID |
type |
varchar(20) |
否 |
无 |
日志类型:info, warning, error, debug |
content |
text |
否 |
无 |
日志内容 |
ip |
varchar(45) |
是 |
NULL |
IP地址 |
user_id |
int |
否 |
0 |
用户ID |
user_agent |
varchar(255) |
是 |
NULL |
用户代理 |
extra_data |
json |
是 |
NULL |
额外数据 |
created_at |
timestamp |
是 |
NULL |
创建时间 |
updated_at |
timestamp |
是 |
NULL |
更新时间 |
索引
| 索引名 |
类型 |
字段 |
PRIMARY |
主键 |
id |
idx_type |
普通索引 |
type |
idx_user_id |
普通索引 |
user_id |
idx_created_at |
普通索引 |
created_at |
2.3 dev_configs 表
存储开发配置项。
字段定义
| 字段名 |
类型 |
允许空 |
默认值 |
描述 |
id |
bigint unsigned |
否 |
自增 |
主键ID |
key |
varchar(100) |
否 |
无 |
配置键 |
value |
text |
否 |
无 |
配置值 |
description |
varchar(200) |
是 |
NULL |
配置描述 |
status |
tinyint |
否 |
1 |
状态:0-禁用,1-启用 |
created_at |
timestamp |
是 |
NULL |
创建时间 |
updated_at |
timestamp |
是 |
NULL |
更新时间 |
索引
| 索引名 |
类型 |
字段 |
PRIMARY |
主键 |
id |
idx_key |
唯一索引 |
key |
idx_status |
普通索引 |
status |
3. 数据库脚本
3.1 创建 dev_tools 表
DROP TABLE IF EXISTS `kku_dev_tools`;
CREATE TABLE `kku_dev_tools` (
`id` bigint unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '工具名称',
`description` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '工具描述',
`status` tinyint NOT NULL DEFAULT '1' COMMENT '状态:0-禁用,1-启用',
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
`deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间',
PRIMARY KEY (`id`),
KEY `idx_name` (`name`),
KEY `idx_status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3.2 创建 dev_logs 表
DROP TABLE IF EXISTS `kku_dev_logs`;
CREATE TABLE `kku_dev_logs` (
`id` bigint unsigned NOT NULL AUTO_INCREMENT,
`type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '日志类型:info, warning, error, debug',
`content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '日志内容',
`ip` varchar(45) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'IP地址',
`user_id` int NOT NULL DEFAULT '0' COMMENT '用户ID',
`user_agent` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '用户代理',
`extra_data` json DEFAULT NULL COMMENT '额外数据',
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `idx_type` (`type`),
KEY `idx_user_id` (`user_id`),
KEY `idx_created_at` (`created_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
3.3 创建 dev_configs 表
DROP TABLE IF EXISTS `kku_dev_configs`;
CREATE TABLE `kku_dev_configs` (
`id` bigint unsigned NOT NULL AUTO_INCREMENT,
`key` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '配置键',
`value` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '配置值',
`description` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '配置描述',
`status` tinyint NOT NULL DEFAULT '1' COMMENT '状态:0-禁用,1-启用',
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `idx_key` (`key`),
KEY `idx_status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
4. 数据字典
4.1 日志类型枚举
| 值 | 描述 |
| -- | ---- |
| info | 信息 |
| warning | 警告 |
| error | 错误 |
| debug | 调试 |
4.2 状态枚举
| 值 | 描述 |
| -- | ---- |
| 0 | 禁用 |
| 1 | 启用 |