Files
schoolNews/schoolNewsServ/.bin/mysql/sql/createTableSystem.sql
2025-10-18 17:57:14 +08:00

166 lines
8.8 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

use school_news;
-- 操作日志表
DROP TABLE IF EXISTS `tb_sys_operation_log`;
CREATE TABLE `tb_sys_operation_log` (
`id` VARCHAR(50) NOT NULL COMMENT '日志ID',
`user_id` VARCHAR(50) NOT NULL COMMENT '用户ID',
`username` VARCHAR(50) NOT NULL COMMENT '用户名',
`module` VARCHAR(100) DEFAULT NULL COMMENT '操作模块',
`operation` VARCHAR(100) DEFAULT NULL COMMENT '操作类型',
`method` VARCHAR(200) DEFAULT NULL COMMENT '请求方法',
`request_url` VARCHAR(500) DEFAULT NULL COMMENT '请求URL',
`request_method` VARCHAR(20) DEFAULT NULL COMMENT '请求方式GET/POST等',
`request_params` TEXT COMMENT '请求参数',
`response_data` TEXT COMMENT '响应数据',
`ip_address` VARCHAR(45) DEFAULT NULL COMMENT 'IP地址',
`ip_source` VARCHAR(100) DEFAULT NULL COMMENT 'IP来源',
`browser` VARCHAR(100) DEFAULT NULL COMMENT '浏览器',
`os` VARCHAR(100) DEFAULT NULL COMMENT '操作系统',
`status` INT(4) DEFAULT 1 COMMENT '操作状态0失败 1成功',
`error_message` TEXT COMMENT '错误消息',
`execute_time` INT(11) DEFAULT 0 COMMENT '执行时长(毫秒)',
`create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '操作时间',
PRIMARY KEY (`id`),
KEY `idx_user` (`user_id`),
KEY `idx_module` (`module`),
KEY `idx_create_time` (`create_time`),
KEY `idx_status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='操作日志表';
-- 系统配置表
DROP TABLE IF EXISTS `tb_sys_config`;
CREATE TABLE `tb_sys_config` (
`id` VARCHAR(50) NOT NULL COMMENT '配置ID',
`config_key` VARCHAR(100) NOT NULL COMMENT '配置键',
`config_value` TEXT COMMENT '配置值',
`config_type` VARCHAR(50) DEFAULT 'string' COMMENT '配置类型string/number/boolean/json',
`config_group` VARCHAR(50) DEFAULT NULL COMMENT '配置分组',
`description` VARCHAR(255) DEFAULT NULL COMMENT '配置描述',
`is_system` TINYINT(1) DEFAULT 0 COMMENT '是否系统配置',
`creator` VARCHAR(50) DEFAULT NULL COMMENT '创建者',
`updater` VARCHAR(50) DEFAULT NULL COMMENT '更新者',
`create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`delete_time` TIMESTAMP NULL DEFAULT NULL COMMENT '删除时间',
`deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_config_key` (`config_key`),
KEY `idx_group` (`config_group`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='系统配置表';
-- 系统访问统计表
DROP TABLE IF EXISTS `tb_sys_visit_statistics`;
CREATE TABLE `tb_sys_visit_statistics` (
`id` VARCHAR(50) NOT NULL COMMENT '统计ID',
`stat_date` DATE NOT NULL COMMENT '统计日期',
`total_visits` INT(11) DEFAULT 0 COMMENT '总访问量',
`unique_visitors` INT(11) DEFAULT 0 COMMENT '独立访客数',
`new_users` INT(11) DEFAULT 0 COMMENT '新增用户数',
`active_users` INT(11) DEFAULT 0 COMMENT '活跃用户数',
`page_views` INT(11) DEFAULT 0 COMMENT '页面浏览量',
`avg_visit_duration` INT(11) DEFAULT 0 COMMENT '平均访问时长(秒)',
`create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_stat_date` (`stat_date`),
KEY `idx_date` (`stat_date`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='系统访问统计表';
-- 通知表
DROP TABLE IF EXISTS `tb_sys_notification`;
CREATE TABLE `tb_sys_notification` (
`id` VARCHAR(50) NOT NULL COMMENT '通知ID',
`user_id` VARCHAR(50) NOT NULL COMMENT '用户ID',
`type` INT(4) DEFAULT 1 COMMENT '通知类型1系统通知 2任务通知 3成就通知',
`title` VARCHAR(255) NOT NULL COMMENT '通知标题',
`content` TEXT COMMENT '通知内容',
`link_type` INT(4) DEFAULT NULL COMMENT '链接类型1资源 2课程 3任务',
`link_id` VARCHAR(50) DEFAULT NULL COMMENT '链接ID',
`is_read` TINYINT(1) DEFAULT 0 COMMENT '是否已读',
`read_time` TIMESTAMP NULL DEFAULT NULL COMMENT '阅读时间',
`create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `idx_user` (`user_id`),
KEY `idx_is_read` (`is_read`),
KEY `idx_create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='系统通知表';
-- 文件上传记录表
-- --------------------------------------------------------
-- 文件上传记录表
-- --------------------------------------------------------
DROP TABLE IF EXISTS `tb_sys_file`;
CREATE TABLE IF NOT EXISTS `tb_sys_file` (
`id` VARCHAR(50) NOT NULL COMMENT '主键ID',
`file_id` VARCHAR(64) NOT NULL COMMENT '文件ID',
`file_name` VARCHAR(255) NOT NULL COMMENT '存储文件名UUID生成',
`original_name` VARCHAR(255) NOT NULL COMMENT '原始文件名',
`file_path` VARCHAR(500) NOT NULL COMMENT '文件存储路径',
`file_url` VARCHAR(500) DEFAULT NULL COMMENT '文件访问URL',
`file_size` BIGINT NOT NULL COMMENT '文件大小(字节)',
`file_type` VARCHAR(50) DEFAULT NULL COMMENT '文件类型image、document、video等',
`mime_type` VARCHAR(100) DEFAULT NULL COMMENT 'MIME类型image/jpeg',
`storage_type` VARCHAR(20) NOT NULL DEFAULT 'local' COMMENT '存储类型local-本地存储、minio-MinIO存储、oss-阿里云OSS等',
`module` VARCHAR(50) DEFAULT NULL COMMENT '所属模块user、news、course等',
`business_id` VARCHAR(64) DEFAULT NULL COMMENT '业务ID关联的业务数据ID',
`uploader` VARCHAR(64) DEFAULT NULL COMMENT '上传者用户ID',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`delete_time` DATETIME DEFAULT NULL COMMENT '删除时间',
`deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除0-否1-是)',
PRIMARY KEY (`id`),
INDEX `idx_file_id` (`file_id`),
INDEX `idx_file_name` (`file_name`),
INDEX `idx_uploader` (`uploader`),
INDEX `idx_module_business` (`module`, `business_id`),
INDEX `idx_storage_type` (`storage_type`),
INDEX `idx_deleted` (`deleted`),
INDEX `idx_create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='文件上传记录表';
-- 数据字典表
DROP TABLE IF EXISTS `tb_sys_dict_type`;
CREATE TABLE `tb_sys_dict_type` (
`id` VARCHAR(50) NOT NULL COMMENT '字典类型ID',
`dict_type` VARCHAR(100) NOT NULL COMMENT '字典类型',
`dict_name` VARCHAR(100) NOT NULL COMMENT '字典名称',
`description` VARCHAR(255) DEFAULT NULL COMMENT '描述',
`status` INT(4) DEFAULT 1 COMMENT '状态0禁用 1启用',
`creator` VARCHAR(50) DEFAULT NULL COMMENT '创建者',
`updater` VARCHAR(50) DEFAULT NULL COMMENT '更新者',
`create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`delete_time` TIMESTAMP NULL DEFAULT NULL COMMENT '删除时间',
`deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_dict_type` (`dict_type`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='字典类型表';
-- 数据字典详情表
DROP TABLE IF EXISTS `tb_sys_dict_data`;
CREATE TABLE `tb_sys_dict_data` (
`id` VARCHAR(50) NOT NULL COMMENT '字典数据ID',
`dict_type` VARCHAR(100) NOT NULL COMMENT '字典类型',
`dict_label` VARCHAR(100) NOT NULL COMMENT '字典标签',
`dict_value` VARCHAR(100) NOT NULL COMMENT '字典值',
`dict_sort` INT(4) DEFAULT 0 COMMENT '排序',
`css_class` VARCHAR(100) DEFAULT NULL COMMENT '样式类',
`list_class` VARCHAR(100) DEFAULT NULL COMMENT '列表样式',
`is_default` TINYINT(1) DEFAULT 0 COMMENT '是否默认',
`status` INT(4) DEFAULT 1 COMMENT '状态0禁用 1启用',
`remark` VARCHAR(255) DEFAULT NULL COMMENT '备注',
`creator` VARCHAR(50) DEFAULT NULL COMMENT '创建者',
`updater` VARCHAR(50) DEFAULT NULL COMMENT '更新者',
`create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`delete_time` TIMESTAMP NULL DEFAULT NULL COMMENT '删除时间',
`deleted` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
PRIMARY KEY (`id`),
KEY `idx_dict_type` (`dict_type`),
KEY `idx_dict_sort` (`dict_sort`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='字典数据表';