数据库设计.md 5.4 KB

开发工具模块数据库设计

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 | 启用 |