初始化数据库 - GlimmerIndex/Glimmer-Index-Back-End GitHub Wiki
创建数据库
CREATE DATABASE `glimmer_index`
然后使用
USE `glimmer_index`
切换到对应数据库
创建权限表
参考数据结构权限系统 · GlimmerIndex/Glimmer-Index-Back-End Wiki (github.com)
CREATE TABLE `sys_menu` (
`id` bigint NOT NULL AUTO_INCREMENT,
`menu_name` varchar(64) NOT NULL DEFAULT 'NULL' COMMENT '菜单名',
`path` varchar(200) DEFAULT NULL COMMENT '路由地址',
`component` varchar(255) DEFAULT NULL COMMENT '组件路径',
`visible` char(1) DEFAULT '0' COMMENT '菜单状态(0显示 1隐藏)',
`status` char(1) DEFAULT '0' COMMENT '菜单状态(0正常 1停用)',
`perms` varchar(100) DEFAULT NULL COMMENT '权限标识',
`icon` varchar(100) DEFAULT '#' COMMENT '菜单图标',
`create_by` bigint DEFAULT NULL,
`create_time` datetime DEFAULT NULL,
`update_by` bigint DEFAULT NULL,
`update_time` datetime DEFAULT NULL,
`del_flag` int DEFAULT '0' COMMENT '是否删除(0未删除 1已删除)',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='菜单表';
创建角色表
CREATE TABLE `sys_role` (
`id` bigint NOT NULL AUTO_INCREMENT,
`name` varchar(128) DEFAULT NULL,
`role_key` varchar(100) DEFAULT NULL COMMENT '角色权限字符串',
`status` char(1) DEFAULT '0' COMMENT '角色状态(0正常 1停用)',
`del_flag` int DEFAULT '0' COMMENT 'del_flag',
`create_by` bigint DEFAULT NULL,
`create_time` datetime DEFAULT NULL,
`update_by` bigint DEFAULT NULL,
`update_time` datetime DEFAULT NULL,
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='角色表';
创建用户表
CREATE TABLE `sys_user` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`user_name` varchar(64) NOT NULL DEFAULT 'NULL' COMMENT '用户名',
`nick_name` varchar(64) NOT NULL DEFAULT 'NULL' COMMENT '昵称',
`password` varchar(64) NOT NULL DEFAULT 'NULL' COMMENT '密码',
`status` char(1) DEFAULT '0' COMMENT '账号状态(0正常 1停用)',
`email` varchar(64) DEFAULT NULL COMMENT '邮箱',
`phonenumber` varchar(32) DEFAULT NULL COMMENT '手机号',
`sex` char(1) DEFAULT NULL COMMENT '用户性别(0男,1女,2未知)',
`avatar` varchar(128) DEFAULT NULL COMMENT '头像',
`user_type` char(1) NOT NULL DEFAULT '1' COMMENT '用户类型(0管理员,1普通用户)',
`create_by` bigint DEFAULT NULL COMMENT '创建人的用户id',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` bigint DEFAULT NULL COMMENT '更新人',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`del_flag` int DEFAULT '0' COMMENT '删除标志(0代表未删除,1代表已删除)',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1637028625444241410 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='用户表';
创建 用户->角色表
CREATE TABLE `sys_user_role` (
`user_id` bigint NOT NULL AUTO_INCREMENT COMMENT '用户id',
`role_id` bigint NOT NULL DEFAULT '0' COMMENT '角色id',
PRIMARY KEY (`user_id`,`role_id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
创建角色->权限表
CREATE TABLE `sys_role_menu` (
`role_id` bigint NOT NULL AUTO_INCREMENT COMMENT '角色ID',
`menu_id` bigint NOT NULL DEFAULT '0' COMMENT '菜单id',
PRIMARY KEY (`role_id`,`menu_id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
初始化权限表
根据目前已有的权限,待添加
LOCK TABLES `sys_menu` WRITE;
/*!40000 ALTER TABLE `sys_menu` DISABLE KEYS */;
INSERT INTO `sys_menu` VALUES (1,'用户测试','/test','','0','0','system:anti:test','#',NULL,NULL,NULL,NULL,0,NULL);
INSERT INTO `sys_menu` VALUES (2,'管理员测试','/admin','','0','0','system:admin:test','#',NULL,NULL,NULL,NULL,0,NULL);
INSERT INTO `sys_menu` VALUES (3,'PDF下载','/uploads/pdf/{id}',NULL,'0','0','uploads:pdf:get','#',NULL,NULL,NULL,NULL,0,NULL);
/*!40000 ALTER TABLE `sys_menu` ENABLE KEYS */;
UNLOCK TABLES;
初始化角色表
LOCK TABLES `sys_role` WRITE;
/*!40000 ALTER TABLE `sys_role` DISABLE KEYS */;
INSERT INTO `sys_role` VALUES (0,'admin','admin','0',0,NULL,NULL,NULL,NULL,NULL);
INSERT INTO `sys_role` VALUES (1,'user','usr','0',0,NULL,NULL,NULL,NULL,NULL);
/*!40000 ALTER TABLE `sys_role` ENABLE KEYS */;
UNLOCK TABLES;
初始化角色权限表
LOCK TABLES `sys_user_role` WRITE;
/*!40000 ALTER TABLE `sys_user_role` DISABLE KEYS */;
INSERT INTO `sys_user_role` VALUES (1,0);
INSERT INTO `sys_user_role` VALUES (3,1);
INSERT INTO `sys_user_role` VALUES (4,1);
/*!40000 ALTER TABLE `sys_user_role` ENABLE KEYS */;
UNLOCK TABLES;
创建文档信息表
create table glimmer_index.pdf_doc
(
id bigint auto_increment comment '主键',
pdf_id bigint not null comment '所属pdf的id',
page_id bigint null comment '页号',
para_id bigint null comment '段落编号',
content text null comment '内容',
constraint pdf_doc_pk
primary key (id)
)
comment '存储文档内容' collate = utf8mb4_general_ci;
创建文件信息表
CREATE TABLE `sys_files`(
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`file_name` varchar(255) NOT NULL DEFAULT 'NULL' COMMENT '文件名',
`file_path` VARCHAR(255) NOT NULL COMMENT '文件路径',
`file_size` BIGINT NOT NULL DEFAULT '0' COMMENT '文件大小',
`file_type` VARCHAR(16) NOT NULL DEFAULT 'NULL' COMMENT '文件类型',
`upload_time` DATETIME DEFAULT NULL COMMENT '上传时间',
`upload_by` BIGINT DEFAULT NULL COMMENT '上传人ID',
`update_time` DATETIME DEFAULT NULL COMMENT '更新时间',
`update_by` BIGINT DEFAULT NULL COMMENT '更新人ID',
`del_flag` int DEFAULT NULL COMMENT '删除标志(0代表未删除,1代表删除)',
`uuid_file_name` varchar(255) not null default 'null' comment 'uuid文件名',
`hash_file_name` varchar(255) not null default 'null' comment '哈希字符串',
`like_number` bigint default 0 null comment '点赞数',
`dislike_number` bigint null,
`visits` bigint default 0 comment '访问量`,
PRIMARY KEY (`id`)
) AUTO_INCREMENT 1 COMMENT '储存PDF文件' ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ;
创建储存用户点赞文件的信息表
CREATE TABLE `sys_user_like`(
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
`liked_file_id` BIGINT NOT NULL COMMENT '文件ID',
`liked_user_id` BIGINT NOT NULL COMMENT '用户ID',
`is_liked` INT NOT NULL DEFAULT 0 COMMENT '点赞标志:0取消,1点赞',
`is_disliked` INT NOT NULL DEFAULT 0 COMMENT '点踩标志:0取消,1点踩',
INDEX `file_id`(`liked_file_id`),
INDEX `user_id`(`liked_user_id`),
PRIMARY KEY (`id`)
)comment '用户点赞表';