123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296 |
- -- liquibase formatted sql
- -- changeset charles7c:1
- -- comment 初始化表结构
- CREATE TABLE IF NOT EXISTS `sys_menu` (
- `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
- `title` varchar(30) NOT NULL COMMENT '标题',
- `parent_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '上级菜单ID',
- `type` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '类型(1:目录;2:菜单;3:按钮)',
- `path` varchar(255) DEFAULT NULL COMMENT '路由地址',
- `name` varchar(50) DEFAULT NULL COMMENT '组件名称',
- `component` varchar(255) DEFAULT NULL COMMENT '组件路径',
- `redirect` varchar(255) DEFAULT NULL COMMENT '重定向地址',
- `icon` varchar(50) DEFAULT NULL COMMENT '图标',
- `is_external` bit(1) DEFAULT b'0' COMMENT '是否外链',
- `is_cache` bit(1) DEFAULT b'0' COMMENT '是否缓存',
- `is_hidden` bit(1) DEFAULT b'0' COMMENT '是否隐藏',
- `permission` varchar(100) DEFAULT NULL COMMENT '权限标识',
- `sort` int NOT NULL DEFAULT 999 COMMENT '排序',
- `status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '状态(1:启用;2:禁用)',
- `create_user` bigint(20) NOT NULL COMMENT '创建人',
- `create_time` datetime NOT NULL COMMENT '创建时间',
- `update_user` bigint(20) DEFAULT NULL COMMENT '修改人',
- `update_time` datetime DEFAULT NULL COMMENT '修改时间',
- PRIMARY KEY (`id`),
- UNIQUE INDEX `uk_title_parent_id`(`title`, `parent_id`),
- INDEX `idx_parent_id`(`parent_id`),
- INDEX `idx_create_user`(`create_user`),
- INDEX `idx_update_user`(`update_user`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='菜单表';
- CREATE TABLE IF NOT EXISTS `sys_dept` (
- `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
- `name` varchar(30) NOT NULL COMMENT '名称',
- `parent_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '上级部门ID',
- `ancestors` varchar(512) NOT NULL DEFAULT '' COMMENT '祖级列表',
- `description` varchar(200) DEFAULT NULL COMMENT '描述',
- `sort` int NOT NULL DEFAULT 999 COMMENT '排序',
- `status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '状态(1:启用;2:禁用)',
- `is_system` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否为系统内置数据',
- `create_user` bigint(20) NOT NULL COMMENT '创建人',
- `create_time` datetime NOT NULL COMMENT '创建时间',
- `update_user` bigint(20) DEFAULT NULL COMMENT '修改人',
- `update_time` datetime DEFAULT NULL COMMENT '修改时间',
- PRIMARY KEY (`id`),
- UNIQUE INDEX `uk_name_parent_id`(`name`, `parent_id`),
- INDEX `idx_parent_id`(`parent_id`),
- INDEX `idx_create_user`(`create_user`),
- INDEX `idx_update_user`(`update_user`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='部门表';
- CREATE TABLE IF NOT EXISTS `sys_role` (
- `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
- `name` varchar(30) NOT NULL COMMENT '名称',
- `code` varchar(30) NOT NULL COMMENT '编码',
- `data_scope` tinyint(1) NOT NULL DEFAULT 4 COMMENT '数据权限(1:全部数据权限;2:本部门及以下数据权限;3:本部门数据权限;4:仅本人数据权限;5:自定义数据权限)',
- `description` varchar(200) DEFAULT NULL COMMENT '描述',
- `sort` int NOT NULL DEFAULT 999 COMMENT '排序',
- `is_system` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否为系统内置数据',
- `menu_check_strictly` bit(1) DEFAULT b'0' COMMENT '菜单选择是否父子节点关联',
- `dept_check_strictly` bit(1) DEFAULT b'0' COMMENT '部门选择是否父子节点关联',
- `create_user` bigint(20) NOT NULL COMMENT '创建人',
- `create_time` datetime NOT NULL COMMENT '创建时间',
- `update_user` bigint(20) DEFAULT NULL COMMENT '修改人',
- `update_time` datetime DEFAULT NULL COMMENT '修改时间',
- PRIMARY KEY (`id`),
- UNIQUE INDEX `uk_name`(`name`),
- UNIQUE INDEX `uk_code`(`code`),
- INDEX `idx_create_user`(`create_user`),
- INDEX `idx_update_user`(`update_user`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='角色表';
- CREATE TABLE IF NOT EXISTS `sys_user` (
- `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
- `username` varchar(64) NOT NULL COMMENT '用户名',
- `nickname` varchar(30) NOT NULL COMMENT '昵称',
- `password` varchar(255) DEFAULT NULL COMMENT '密码',
- `gender` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '性别(0:未知;1:男;2:女)',
- `email` varchar(255) DEFAULT NULL COMMENT '邮箱',
- `phone` varchar(255) DEFAULT NULL COMMENT '手机号码',
- `avatar` longtext DEFAULT NULL COMMENT '头像',
- `description` varchar(200) DEFAULT NULL COMMENT '描述',
- `status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '状态(1:启用;2:禁用)',
- `is_system` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否为系统内置数据',
- `pwd_reset_time` datetime DEFAULT NULL COMMENT '最后一次修改密码时间',
- `dept_id` bigint(20) NOT NULL COMMENT '部门ID',
- `create_user` bigint(20) DEFAULT NULL COMMENT '创建人',
- `create_time` datetime NOT NULL COMMENT '创建时间',
- `update_user` bigint(20) DEFAULT NULL COMMENT '修改人',
- `update_time` datetime DEFAULT NULL COMMENT '修改时间',
- PRIMARY KEY (`id`),
- UNIQUE INDEX `uk_username`(`username`),
- UNIQUE INDEX `uk_email`(`email`),
- UNIQUE INDEX `uk_phone`(`phone`),
- INDEX `idx_dept_id`(`dept_id`),
- INDEX `idx_create_user`(`create_user`),
- INDEX `idx_update_user`(`update_user`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户表';
- CREATE TABLE IF NOT EXISTS `sys_user_password_history` (
- `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
- `user_id` bigint(20) NOT NULL COMMENT '用户ID',
- `password` varchar(255) NOT NULL COMMENT '密码',
- `create_time` datetime NOT NULL COMMENT '创建时间',
- PRIMARY KEY (`id`),
- INDEX `idx_user_id`(`user_id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户历史密码表';
- CREATE TABLE IF NOT EXISTS `sys_user_social` (
- `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
- `source` varchar(255) NOT NULL COMMENT '来源',
- `open_id` varchar(255) NOT NULL COMMENT '开放ID',
- `user_id` bigint(20) NOT NULL COMMENT '用户ID',
- `meta_json` text DEFAULT NULL COMMENT '附加信息',
- `last_login_time` datetime DEFAULT NULL COMMENT '最后登录时间',
- `create_time` datetime NOT NULL COMMENT '创建时间',
- PRIMARY KEY (`id`),
- UNIQUE INDEX `uk_source_open_id`(`source`, `open_id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户社会化关联表';
- CREATE TABLE IF NOT EXISTS `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=utf8mb4 COMMENT='用户和角色关联表';
- CREATE TABLE IF NOT EXISTS `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=utf8mb4 COMMENT='角色和菜单关联表';
- CREATE TABLE IF NOT EXISTS `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=utf8mb4 COMMENT='角色和部门关联表';
- CREATE TABLE IF NOT EXISTS `sys_option` (
- `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
- `category` varchar(50) NOT NULL COMMENT '类别',
- `name` varchar(50) NOT NULL COMMENT '名称',
- `code` varchar(100) NOT NULL COMMENT '键',
- `value` longtext DEFAULT NULL COMMENT '值',
- `default_value` longtext DEFAULT NULL COMMENT '默认值',
- `description` varchar(200) DEFAULT NULL COMMENT '描述',
- `update_user` bigint(20) DEFAULT NULL COMMENT '修改人',
- `update_time` datetime DEFAULT NULL COMMENT '修改时间',
- PRIMARY KEY (`id`),
- UNIQUE INDEX `uk_category_code`(`category`, `code`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='参数表';
- CREATE TABLE IF NOT EXISTS `sys_dict` (
- `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
- `name` varchar(30) NOT NULL COMMENT '名称',
- `code` varchar(30) NOT NULL COMMENT '编码',
- `description` varchar(200) DEFAULT NULL COMMENT '描述',
- `is_system` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否为系统内置数据',
- `create_user` bigint(20) NOT NULL COMMENT '创建人',
- `create_time` datetime NOT NULL COMMENT '创建时间',
- `update_user` bigint(20) DEFAULT NULL COMMENT '修改人',
- `update_time` datetime DEFAULT NULL COMMENT '修改时间',
- PRIMARY KEY (`id`),
- UNIQUE INDEX `uk_name`(`name`),
- UNIQUE INDEX `uk_code`(`code`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='字典表';
- CREATE TABLE IF NOT EXISTS `sys_dict_item` (
- `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
- `label` varchar(30) NOT NULL COMMENT '标签',
- `value` varchar(30) NOT NULL COMMENT '值',
- `color` varchar(30) DEFAULT NULL COMMENT '标签颜色',
- `sort` int NOT NULL DEFAULT 999 COMMENT '排序',
- `description` varchar(200) DEFAULT NULL COMMENT '描述',
- `status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '状态(1:启用;2:禁用)',
- `dict_id` bigint(20) NOT NULL COMMENT '字典ID',
- `create_user` bigint(20) NOT NULL COMMENT '创建人',
- `create_time` datetime NOT NULL COMMENT '创建时间',
- `update_user` bigint(20) DEFAULT NULL COMMENT '修改人',
- `update_time` datetime DEFAULT NULL COMMENT '修改时间',
- PRIMARY KEY (`id`),
- UNIQUE INDEX `uk_value_dict_id`(`value`, `dict_id`),
- INDEX `idx_dict_id`(`dict_id`),
- INDEX `idx_create_user`(`create_user`),
- INDEX `idx_update_user`(`update_user`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='字典项表';
- CREATE TABLE IF NOT EXISTS `sys_log` (
- `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
- `trace_id` varchar(255) DEFAULT NULL COMMENT '链路ID',
- `description` varchar(255) NOT NULL COMMENT '日志描述',
- `module` varchar(50) NOT NULL COMMENT '所属模块',
- `request_url` varchar(512) NOT NULL COMMENT '请求URL',
- `request_method` varchar(10) NOT NULL COMMENT '请求方式',
- `request_headers` text DEFAULT NULL COMMENT '请求头',
- `request_body` text DEFAULT NULL COMMENT '请求体',
- `status_code` int NOT NULL COMMENT '状态码',
- `response_headers` text DEFAULT NULL COMMENT '响应头',
- `response_body` mediumtext DEFAULT NULL COMMENT '响应体',
- `time_taken` bigint(20) NOT NULL COMMENT '耗时(ms)',
- `ip` varchar(100) DEFAULT NULL COMMENT 'IP',
- `address` varchar(255) DEFAULT NULL COMMENT 'IP归属地',
- `browser` varchar(100) DEFAULT NULL COMMENT '浏览器',
- `os` varchar(100) DEFAULT NULL COMMENT '操作系统',
- `status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '状态(1:成功;2:失败)',
- `error_msg` text DEFAULT NULL COMMENT '错误信息',
- `create_user` bigint(20) DEFAULT NULL COMMENT '创建人',
- `create_time` datetime NOT NULL COMMENT '创建时间',
- PRIMARY KEY (`id`),
- INDEX `idx_module`(`module`),
- INDEX `idx_ip`(`ip`),
- INDEX `idx_address`(`address`),
- INDEX `idx_create_time`(`create_time`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='系统日志表';
- CREATE TABLE IF NOT EXISTS `sys_message` (
- `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
- `title` varchar(50) NOT NULL COMMENT '标题',
- `content` varchar(255) DEFAULT NULL COMMENT '内容',
- `type` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '类型(1:系统消息)',
- `create_user` bigint(20) DEFAULT NULL COMMENT '创建人',
- `create_time` datetime NOT NULL COMMENT '创建时间',
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='消息表';
- CREATE TABLE IF NOT EXISTS `sys_message_user` (
- `message_id` bigint(20) NOT NULL COMMENT '消息ID',
- `user_id` bigint(11) NOT NULL COMMENT '用户ID',
- `is_read` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否已读',
- `read_time` datetime DEFAULT NULL COMMENT '读取时间',
- PRIMARY KEY (`message_id`, `user_id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='消息和用户关联表';
- CREATE TABLE IF NOT EXISTS `sys_notice` (
- `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
- `title` varchar(150) NOT NULL COMMENT '标题',
- `content` mediumtext NOT NULL COMMENT '内容',
- `type` varchar(30) NOT NULL COMMENT '类型',
- `effective_time` datetime DEFAULT NULL COMMENT '生效时间',
- `terminate_time` datetime DEFAULT NULL COMMENT '终止时间',
- `notice_scope` int NOT NULL COMMENT '通知范围',
- `notice_users` json DEFAULT NULL COMMENT '通知用户',
- `sort` int NOT NULL DEFAULT 999 COMMENT '排序',
- `create_user` bigint(20) NOT NULL COMMENT '创建人',
- `create_time` datetime NOT NULL COMMENT '创建时间',
- `update_user` bigint(20) DEFAULT NULL COMMENT '修改人',
- `update_time` datetime DEFAULT NULL COMMENT '修改时间',
- PRIMARY KEY (`id`),
- INDEX `idx_create_user`(`create_user`),
- INDEX `idx_update_user`(`update_user`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='公告表';
- CREATE TABLE IF NOT EXISTS `sys_storage` (
- `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
- `name` varchar(100) NOT NULL COMMENT '名称',
- `code` varchar(30) NOT NULL COMMENT '编码',
- `type` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '类型(1:兼容S3协议存储;2:本地存储)',
- `access_key` varchar(255) DEFAULT NULL COMMENT 'Access Key(访问密钥)',
- `secret_key` varchar(255) DEFAULT NULL COMMENT 'Secret Key(私有密钥)',
- `endpoint` varchar(255) DEFAULT NULL COMMENT 'Endpoint(终端节点)',
- `bucket_name` varchar(255) DEFAULT NULL COMMENT '桶名称',
- `domain` varchar(255) NOT NULL DEFAULT '' COMMENT '域名',
- `description` varchar(200) DEFAULT NULL COMMENT '描述',
- `is_default` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否为默认存储',
- `sort` int NOT NULL DEFAULT 999 COMMENT '排序',
- `status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '状态(1:启用;2:禁用)',
- `create_user` bigint(20) NOT NULL COMMENT '创建人',
- `create_time` datetime NOT NULL COMMENT '创建时间',
- `update_user` bigint(20) DEFAULT NULL COMMENT '修改人',
- `update_time` datetime DEFAULT NULL COMMENT '修改时间',
- PRIMARY KEY (`id`),
- UNIQUE INDEX `uk_code`(`code`),
- INDEX `idx_create_user`(`create_user`),
- INDEX `idx_update_user`(`update_user`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='存储表';
- CREATE TABLE IF NOT EXISTS `sys_file` (
- `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
- `name` varchar(255) NOT NULL COMMENT '名称',
- `size` bigint(20) NOT NULL COMMENT '大小(字节)',
- `url` varchar(512) NOT NULL COMMENT 'URL',
- `extension` varchar(100) DEFAULT NULL COMMENT '扩展名',
- `thumbnail_size` bigint(20) DEFAULT NULL COMMENT '缩略图大小(字节)',
- `thumbnail_url` varchar(512) DEFAULT NULL COMMENT '缩略图URL',
- `type` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '类型(1:其他;2:图片;3:文档;4:视频;5:音频)',
- `storage_id` bigint(20) NOT NULL COMMENT '存储ID',
- `create_user` bigint(20) NOT NULL COMMENT '创建人',
- `create_time` datetime NOT NULL COMMENT '创建时间',
- `update_user` bigint(20) NOT NULL COMMENT '修改人',
- `update_time` datetime NOT NULL COMMENT '修改时间',
- PRIMARY KEY (`id`),
- INDEX `idx_url`(`url`),
- INDEX `idx_type`(`type`),
- INDEX `idx_create_user`(`create_user`),
- INDEX `idx_update_user`(`update_user`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='文件表';
|