创建表
一定要设置主键
表和表之间关联,推荐创建中间表,不建议使用外键(影响性能)
用户表
CREATE TABLE `sys_user` (`user_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '用户ID',`dept_id` bigint(20) DEFAULT NULL COMMENT '部门ID',`login_name` varchar(30) NOT NULL COMMENT '登录账号',`user_name` varchar(30) NOT NULL COMMENT '用户昵称',`user_type` varchar(2) DEFAULT '00' COMMENT '用户类型(00系统用户)',`email` varchar(50) DEFAULT '' COMMENT '用户邮箱',`phonenumber` varchar(11) DEFAULT '' COMMENT '手机号码',`sex` char(1) DEFAULT '0' COMMENT '用户性别(0男 1女 2未知)',`avatar` varchar(100) DEFAULT '' COMMENT '头像路径',`password` varchar(50) DEFAULT '' COMMENT '密码',`salt` varchar(20) DEFAULT '' COMMENT '盐加密',`status` char(1) DEFAULT '0' COMMENT '帐号状态(0正常 1停用)',`del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)',`login_ip` varchar(50) DEFAULT '' COMMENT '最后登陆IP',`login_date` datetime DEFAULT NULL COMMENT '最后登陆时间',`create_by` varchar(64) DEFAULT '' COMMENT '创建者',`create_time` datetime DEFAULT NULL COMMENT '创建时间',`update_by` varchar(64) DEFAULT '' COMMENT '更新者',`update_time` datetime DEFAULT NULL COMMENT '更新时间',`remark` varchar(500) DEFAULT NULL COMMENT '备注',PRIMARY KEY (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='用户信息表';
角色表
CREATE TABLE `sys_role` (`role_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '角色ID',`role_name` varchar(30) NOT NULL COMMENT '角色名称',`role_key` varchar(100) NOT NULL COMMENT '角色权限字符串',`role_sort` int(4) NOT NULL COMMENT '显示顺序',`data_scope` char(1) DEFAULT '1' COMMENT '数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)',`status` char(1) NOT NULL COMMENT '角色状态(0正常 1停用)',`del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)',`create_by` varchar(64) DEFAULT '' COMMENT '创建者',`create_time` datetime DEFAULT NULL COMMENT '创建时间',`update_by` varchar(64) DEFAULT '' COMMENT '更新者',`update_time` datetime DEFAULT NULL COMMENT '更新时间',`remark` varchar(500) DEFAULT NULL COMMENT '备注',PRIMARY KEY (`role_id`)
) ENGINE=InnoDB AUTO_INCREMENT=102 DEFAULT CHARSET=utf8 COMMENT='角色信息表';
用户角色中间表
CREATE TABLE `sys_user_role` (`user_id` bigint(20) NOT NULL COMMENT '用户ID',`role_id` bigint(20) NOT NULL COMMENT '角色ID',PRIMARY KEY (`user_id`,`role_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户和角色关联表';
部门表
CREATE TABLE `sys_dept` (`dept_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '部门id',`parent_id` bigint(20) DEFAULT '0' COMMENT '父部门id',`ancestors` varchar(50) DEFAULT '' COMMENT '祖级列表',`dept_name` varchar(30) DEFAULT '' COMMENT '部门名称',`order_num` int(4) DEFAULT '0' COMMENT '显示顺序',`leader` varchar(20) DEFAULT NULL COMMENT '负责人',`phone` varchar(11) DEFAULT NULL COMMENT '联系电话',`email` varchar(50) DEFAULT NULL COMMENT '邮箱',`status` char(1) DEFAULT '0' COMMENT '部门状态(0正常 1停用)',`del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)',`create_by` varchar(64) DEFAULT '' COMMENT '创建者',`create_time` datetime DEFAULT NULL COMMENT '创建时间',`update_by` varchar(64) DEFAULT '' COMMENT '更新者',`update_time` datetime DEFAULT NULL COMMENT '更新时间',PRIMARY KEY (`dept_id`)
) ENGINE=InnoDB AUTO_INCREMENT=113 DEFAULT CHARSET=utf8 COMMENT='部门表';
部门和角色关联表
CREATE TABLE `sys_role_dept` (`role_id` bigint(20) NOT NULL COMMENT '角色ID',`dept_id` bigint(20) NOT NULL COMMENT '部门ID',PRIMARY KEY (`role_id`,`dept_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='角色和部门关联表';
菜单表
CREATE TABLE `sys_menu` (`menu_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '菜单ID',`menu_name` varchar(50) NOT NULL COMMENT '菜单名称',`parent_id` bigint(20) DEFAULT '0' COMMENT '父菜单ID',`order_num` int(4) DEFAULT '0' COMMENT '显示顺序',`url` varchar(200) DEFAULT '#' COMMENT '请求地址',`target` varchar(20) DEFAULT '' COMMENT '打开方式(menuItem页签 menuBlank新窗口)',`menu_type` char(1) DEFAULT '' COMMENT '菜单类型(M目录 C菜单 F按钮)',`visible` char(1) DEFAULT '0' COMMENT '菜单状态(0显示 1隐藏)',`perms` varchar(100) DEFAULT NULL COMMENT '权限标识',`icon` varchar(100) DEFAULT '#' COMMENT '菜单图标',`create_by` varchar(64) DEFAULT '' COMMENT '创建者',`create_time` datetime DEFAULT NULL COMMENT '创建时间',`update_by` varchar(64) DEFAULT '' COMMENT '更新者',`update_time` datetime DEFAULT NULL COMMENT '更新时间',`remark` varchar(500) DEFAULT '' COMMENT '备注',PRIMARY KEY (`menu_id`)
) ENGINE=InnoDB AUTO_INCREMENT=2050 DEFAULT CHARSET=utf8 COMMENT='菜单权限表';
角色和菜单关联表
CREATE TABLE `sys_role_menu` (`role_id` bigint(20) NOT NULL COMMENT '角色ID',`menu_id` bigint(20) NOT NULL COMMENT '菜单ID',PRIMARY KEY (`role_id`,`menu_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='角色和菜单关联表';