init.sql 8 KB
# 部门表
CREATE TABLE `admin_dept` (
          `id` bigint NOT NULL AUTO_INCREMENT,
          `pid` bigint(20) DEFAULT NULL COMMENT '上级部门',
          `sub_count` int(5) DEFAULT '0' COMMENT '子部门数目',
          `name` varchar(255) NOT NULL COMMENT '名称',
          `dept_sort` int(5) DEFAULT '999' COMMENT '排序',
          `enable_flag`    INT          NOT NULL COMMENT '是否可用 10-可用 20-删除',
          `create_time`    DATETIME     NOT NULL COMMENT '创建时间',
          `create_by`      varchar(64)  NOT NULL COMMENT '创建人',
          `modify_time`    DATETIME     DEFAULT NULL COMMENT '修改时间',
          `modify_by`      varchar(64)  DEFAULT NULL COMMENT '修改人',
          `version`        INT          DEFAULT NULL COMMENT '版本号--乐观锁预留字段',
          PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='部门表';


# 岗位表
CREATE TABLE `admin_job` (
          `id` bigint NOT NULL AUTO_INCREMENT,
          `name` varchar(64) NOT NULL COMMENT '岗位名称',
          `sort` INT    NOT NULL COMMENT '排序字段',
          `enable_flag`    INT          NOT NULL COMMENT '是否可用 10-可用 20-删除',
          `create_time`    DATETIME     NOT NULL COMMENT '创建时间',
          `create_by`      varchar(64)  NOT NULL COMMENT '创建人',
          `modify_time`    DATETIME     DEFAULT NULL COMMENT '修改时间',
          `modify_by`      varchar(64)  DEFAULT NULL COMMENT '修改人',
          `version`        INT          DEFAULT NULL COMMENT '版本号--乐观锁预留字段',
          PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='岗位表';


# 菜单表
CREATE TABLE `admin_menu` (
        `id` bigint NOT NULL AUTO_INCREMENT,
        `pid` bigint(20) DEFAULT NULL COMMENT '上级菜单ID',
        `sub_count` int(5) DEFAULT '0' COMMENT '子菜单数目',
        `type` int(11) DEFAULT NULL COMMENT '菜单类型',
        `title` varchar(255) DEFAULT NULL COMMENT '菜单标题',
        `name` varchar(255) DEFAULT NULL COMMENT '组件名称',
        `component` varchar(255) DEFAULT NULL COMMENT '组件',
        `menu_sort` int(5) DEFAULT NULL COMMENT '排序',
        `icon` varchar(255) DEFAULT NULL COMMENT '图标',
        `path` varchar(255) DEFAULT NULL COMMENT '链接地址',
        `i_frame` bit(1) DEFAULT NULL COMMENT '是否外链',
        `cache` bit(1) DEFAULT b'0' COMMENT '缓存',
        `hidden` bit(1) DEFAULT b'0' COMMENT '隐藏',
        `permission` varchar(255) DEFAULT NULL COMMENT '权限',
        `enable_flag`    INT          NOT NULL COMMENT '是否可用 10-可用 20-删除',
        `create_time`    DATETIME     NOT NULL COMMENT '创建时间',
        `create_by`      varchar(64)  NOT NULL COMMENT '创建人',
        `modify_time`    DATETIME     DEFAULT NULL COMMENT '修改时间',
        `modify_by`      varchar(64)  DEFAULT NULL COMMENT '修改人',
        `version`        INT          DEFAULT NULL COMMENT '版本号--乐观锁预留字段',
        PRIMARY KEY (`menu_id`) USING BTREE,
        UNIQUE KEY `uniq_title` (`title`),
        UNIQUE KEY `uniq_name` (`name`),
        KEY `inx_pid` (`pid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='角色表';


# 角色表
CREATE TABLE `admin_role` (
          `id` bigint NOT NULL AUTO_INCREMENT,
          `name` varchar(255) NOT NULL COMMENT '名称',
          `level` int(255) DEFAULT NULL COMMENT '角色级别',
          `description` varchar(255) DEFAULT NULL COMMENT '描述',
          `data_scope` varchar(255) DEFAULT NULL COMMENT '数据权限',
          `enable_flag`    INT          NOT NULL COMMENT '是否可用 10-可用 20-删除',
          `create_time`    DATETIME     NOT NULL COMMENT '创建时间',
          `create_by`      varchar(64)  NOT NULL COMMENT '创建人',
          `modify_time`    DATETIME     DEFAULT NULL COMMENT '修改时间',
          `modify_by`      varchar(64)  DEFAULT NULL COMMENT '修改人',
          `version`        INT          DEFAULT NULL COMMENT '版本号--乐观锁预留字段',
          PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='角色表';


# 角色-部门表
CREATE TABLE `admin_role_dept` (
          `id` bigint NOT NULL AUTO_INCREMENT,
          `role_id` bigint NOT NULL COMMENT '角色id',
          `dept_id` bigint NOT NULL COMMENT '部门id',
          UNIQUE KEY (`role_id`,`dept_id`)
          PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='角色-部门表';


# 角色-菜单表
CREATE TABLE `admin_role_menu` (
          `id` bigint NOT NULL AUTO_INCREMENT,
          `role_id` bigint NOT NULL COMMENT '角色id',
          `menu_id` bigint NOT NULL COMMENT '菜单id',
          UNIQUE KEY (`role_id`,`menu_id`)
          PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='角色-菜单表';


# 用户表
CREATE TABLE `admin_user` (
          `id` bigint NOT NULL AUTO_INCREMENT,
          `dept_id` bigint(20) DEFAULT NULL COMMENT '部门名称',
          `user_name` varchar(255) DEFAULT NULL COMMENT '用户名',
          `nick_name` varchar(255) DEFAULT NULL COMMENT '昵称',
            `gender` varchar(2) DEFAULT NULL COMMENT '性别',
            `phone` varchar(255) DEFAULT NULL COMMENT '手机号码',
            `email` varchar(255) DEFAULT NULL COMMENT '邮箱',
            `avatar_name` varchar(255) DEFAULT NULL COMMENT '头像地址',
            `avatar_path` varchar(255) DEFAULT NULL COMMENT '头像真实路径',
            `password` varchar(255) DEFAULT NULL COMMENT '密码',
            `is_admin` bit(1) DEFAULT b'0' COMMENT '是否为admin账号',
            `pwd_reset_time`  DATETIME  DEFAULT NULL COMMENT '修改密码的时间',
          `enable_flag`    INT          NOT NULL COMMENT '是否可用 10-可用 20-删除',
          `create_time`    DATETIME     NOT NULL COMMENT '创建时间',
          `create_by`      varchar(64)  NOT NULL COMMENT '创建人',
          `modify_time`    DATETIME     DEFAULT NULL COMMENT '修改时间',
          `modify_by`      varchar(64)  DEFAULT NULL COMMENT '修改人',
          `version`        INT          DEFAULT NULL COMMENT '版本号--乐观锁预留字段',
            UNIQUE KEY `uniq_username` (`username`),
            UNIQUE KEY `uniq_phone` (`phone`),
            UNIQUE KEY `uniq_email` (`email`),
          PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户表';


# 用户-岗位表
CREATE TABLE `admin_user_job` (
          `id` bigint NOT NULL AUTO_INCREMENT,
          `user_id` bigint(20) NOT NULL COMMENT '用户ID',
          `job_id` bigint(20) NOT NULL COMMENT '岗位ID',
          UNIQUE KEY (`user_id`,`job_id`)
          PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户-岗位表';


# 用户角色表
CREATE TABLE `admin_user_role` (
          `id` bigint NOT NULL AUTO_INCREMENT,
          `user_id` bigint NOT NULL COMMENT '用户id',
          `role_id` bigint NOT NULL COMMENT '角色id',
          UNIQUE KEY (`user_id`,`role_id`)
          PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户角色表';


# 字典表
CREATE TABLE `dictionary` (
          `id` bigint NOT NULL AUTO_INCREMENT,
          `dict_code` varchar(64) not NULL COMMENT '字典编码',
          `dict_name` varchar(64) not null COMMENT '名称',
          `dict_value` varchar(64) not null COMMENT '值',
          `remark`     varchar(64) default null COMMENT '备注',
          `sort`    INT          default 0 COMMENT '排序字段',
          `enable_flag`    INT          NOT NULL COMMENT '是否可用 10-可用 20-删除',
          `create_time`    DATETIME     NOT NULL COMMENT '创建时间',
          `create_by`      varchar(64)  NOT NULL COMMENT '创建人',
          `modify_time`    DATETIME     DEFAULT NULL COMMENT '修改时间',
          `modify_by`      varchar(64)  DEFAULT NULL COMMENT '修改人',
          `version`        INT          DEFAULT NULL COMMENT '版本号--乐观锁预留字段',
          PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='字典表';