-- 用户表 CREATE TABLE `admin_user` ( `id` bigint NOT NULL AUTO_INCREMENT, `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `delete_time` datetime DEFAULT NULL COMMENT '删除时间', `del_state` tinyint NOT NULL DEFAULT '0', `version` bigint NOT NULL DEFAULT '0' COMMENT '版本号', /* 业务字段开始 */ `username` varchar(50) NOT NULL DEFAULT '' COMMENT '用户名', `password` varchar(255) NOT NULL DEFAULT '' COMMENT '密码', `status` tinyint NOT NULL DEFAULT '1' COMMENT '状态:0-禁用,1-启用', /* 业务字段结束 */ PRIMARY KEY (`id`), UNIQUE KEY `uk_username` (`username`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='管理员用户表'; -- 角色表 CREATE TABLE `admin_role` ( `id` bigint NOT NULL AUTO_INCREMENT, `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `delete_time` datetime DEFAULT NULL COMMENT '删除时间', `del_state` tinyint NOT NULL DEFAULT '0', `version` bigint NOT NULL DEFAULT '0' COMMENT '版本号', /* 业务字段开始 */ `role_name` varchar(50) NOT NULL DEFAULT '' COMMENT '角色名称', `role_code` varchar(50) NOT NULL DEFAULT '' COMMENT '角色编码', `description` varchar(255) NOT NULL DEFAULT '' COMMENT '角色描述', `status` tinyint NOT NULL DEFAULT '1' COMMENT '状态:0-禁用,1-启用', `sort` int NOT NULL DEFAULT '0' COMMENT '排序', /* 业务字段结束 */ PRIMARY KEY (`id`), UNIQUE KEY `uk_role_code` (`role_code`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='角色表'; -- 菜单表 CREATE TABLE `admin_menu` ( `id` bigint NOT NULL AUTO_INCREMENT, `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `delete_time` datetime DEFAULT NULL COMMENT '删除时间', `del_state` tinyint NOT NULL DEFAULT '0', `version` bigint NOT NULL DEFAULT '0' COMMENT '版本号', /* 业务字段开始 */ `parent_id` bigint NOT NULL DEFAULT '0' COMMENT '父菜单ID', `menu_name` varchar(50) NOT NULL DEFAULT '' COMMENT '菜单名称', `menu_code` varchar(100) NOT NULL DEFAULT '' COMMENT '菜单编码', `path` varchar(255) NOT NULL DEFAULT '' COMMENT '路由路径', `component` varchar(255) NOT NULL DEFAULT '' COMMENT '组件路径', `icon` varchar(100) NOT NULL DEFAULT '' COMMENT '图标', `sort` int NOT NULL DEFAULT '0' COMMENT '排序', `visible` tinyint NOT NULL DEFAULT '1' COMMENT '是否可见:0-隐藏,1-显示', `status` tinyint NOT NULL DEFAULT '1' COMMENT '状态:0-禁用,1-启用', `is_cache` tinyint NOT NULL DEFAULT '0' COMMENT '是否缓存:0-不缓存,1-缓存', /* 业务字段结束 */ PRIMARY KEY (`id`), UNIQUE KEY `uk_menu_code` (`menu_code`), KEY `idx_parent_id` (`parent_id`) COMMENT '优化层级查询' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='菜单表'; -- 接口表 CREATE TABLE `admin_api` ( `id` bigint NOT NULL AUTO_INCREMENT, `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `delete_time` datetime DEFAULT NULL COMMENT '删除时间', `del_state` tinyint NOT NULL DEFAULT '0', `version` bigint NOT NULL DEFAULT '0' COMMENT '版本号', /* 业务字段开始 */ `api_name` varchar(100) NOT NULL DEFAULT '' COMMENT '接口名称', `api_code` varchar(100) NOT NULL DEFAULT '' COMMENT '接口编码', `method` varchar(10) NOT NULL DEFAULT '' COMMENT '请求方法:GET、POST等', `url` varchar(255) NOT NULL DEFAULT '' COMMENT '接口URL', `status` tinyint NOT NULL DEFAULT '1' COMMENT '状态:0-禁用,1-启用', `description` varchar(255) NOT NULL DEFAULT '' COMMENT '接口描述', /* 业务字段结束 */ PRIMARY KEY (`id`), UNIQUE KEY `uk_api_code` (`api_code`), KEY `idx_url_method` (`url`, `method`) COMMENT '优化接口查询' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='接口表'; -- 用户角色关联表 CREATE TABLE `admin_user_role` ( `id` bigint NOT NULL AUTO_INCREMENT, `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `delete_time` datetime DEFAULT NULL COMMENT '删除时间', `del_state` tinyint NOT NULL DEFAULT '0', `version` bigint NOT NULL DEFAULT '0' COMMENT '版本号', /* 业务字段开始 */ /* 关联字段 - 软关联 */ `user_id` bigint NOT NULL DEFAULT '0' COMMENT '关联到用户表的id', `role_id` bigint NOT NULL DEFAULT '0' COMMENT '关联到角色表的id', /* 业务字段结束 */ PRIMARY KEY (`id`), UNIQUE KEY `uk_user_role` (`user_id`, `role_id`), KEY `idx_user_id` (`user_id`) COMMENT '优化用户查询', KEY `idx_role_id` (`role_id`) COMMENT '优化角色查询' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='用户角色关联表'; -- 角色菜单关联表 CREATE TABLE `admin_role_menu` ( `id` bigint NOT NULL AUTO_INCREMENT, `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `delete_time` datetime DEFAULT NULL COMMENT '删除时间', `del_state` tinyint NOT NULL DEFAULT '0', `version` bigint NOT NULL DEFAULT '0' COMMENT '版本号', /* 业务字段开始 */ /* 关联字段 - 软关联 */ `role_id` bigint NOT NULL DEFAULT '0' COMMENT '关联到角色表的id', `menu_id` bigint NOT NULL DEFAULT '0' COMMENT '关联到菜单表的id', /* 业务字段结束 */ PRIMARY KEY (`id`), UNIQUE KEY `uk_role_menu` (`role_id`, `menu_id`), KEY `idx_role_id` (`role_id`) COMMENT '优化角色查询', KEY `idx_menu_id` (`menu_id`) COMMENT '优化菜单查询' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='角色菜单关联表'; -- 角色接口关联表 CREATE TABLE `admin_role_api` ( `id` bigint NOT NULL AUTO_INCREMENT, `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `delete_time` datetime DEFAULT NULL COMMENT '删除时间', `del_state` tinyint NOT NULL DEFAULT '0', `version` bigint NOT NULL DEFAULT '0' COMMENT '版本号', /* 业务字段开始 */ /* 关联字段 - 软关联 */ `role_id` bigint NOT NULL DEFAULT '0' COMMENT '关联到角色表的id', `api_id` bigint NOT NULL DEFAULT '0' COMMENT '关联到接口表的id', /* 业务字段结束 */ PRIMARY KEY (`id`), UNIQUE KEY `uk_role_api` (`role_id`, `api_id`), KEY `idx_role_id` (`role_id`) COMMENT '优化角色查询', KEY `idx_api_id` (`api_id`) COMMENT '优化接口查询' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='角色接口关联表';