初始化数据库 - 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 '用户点赞表';