121 lines
4.8 KiB
SQL
121 lines
4.8 KiB
SQL
-- inquiry_robot:账号/角色/菜单/权限 精简字段(对齐后台「账号管理」「角色管理」)
|
|
-- 只保留页面用到的列;破坏 Jeecg 官方实体兼容属预期(当前只要这套管理能力)。
|
|
|
|
SET NAMES utf8mb4;
|
|
SET FOREIGN_KEY_CHECKS = 0;
|
|
|
|
-- ---------- 账号 ----------
|
|
DROP TABLE IF EXISTS `sys_user_new`;
|
|
CREATE TABLE `sys_user_new` (
|
|
`id` varchar(32) NOT NULL,
|
|
`username` varchar(100) NOT NULL COMMENT '账号',
|
|
`realname` varchar(100) DEFAULT NULL COMMENT '姓名',
|
|
`password` varchar(255) DEFAULT NULL COMMENT '密码哈希',
|
|
`salt` varchar(45) DEFAULT NULL COMMENT '盐',
|
|
`wecom_id` varchar(64) DEFAULT NULL COMMENT '企微 userid',
|
|
`phone` varchar(45) DEFAULT NULL COMMENT '手机号',
|
|
`status` tinyint(1) NOT NULL DEFAULT 1 COMMENT '1启用 0禁用',
|
|
`last_login_time` datetime DEFAULT NULL COMMENT '最后登录',
|
|
`create_time` datetime DEFAULT NULL,
|
|
`update_time` datetime DEFAULT NULL,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `uk_username` (`username`),
|
|
KEY `idx_wecom_id` (`wecom_id`),
|
|
KEY `idx_phone` (`phone`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='账号';
|
|
|
|
INSERT INTO `sys_user_new` (`id`,`username`,`realname`,`password`,`salt`,`wecom_id`,`phone`,`status`,`last_login_time`,`create_time`,`update_time`)
|
|
SELECT `id`,`username`,`realname`,`password`,`salt`,
|
|
NULLIF(`third_id`,''),
|
|
`phone`,
|
|
IFNULL(`status`,1),
|
|
NULL,
|
|
`create_time`,`update_time`
|
|
FROM `sys_user`;
|
|
|
|
DROP TABLE `sys_user`;
|
|
RENAME TABLE `sys_user_new` TO `sys_user`;
|
|
|
|
-- ---------- 角色 ----------
|
|
DROP TABLE IF EXISTS `sys_role_new`;
|
|
CREATE TABLE `sys_role_new` (
|
|
`id` varchar(32) NOT NULL,
|
|
`role_name` varchar(100) NOT NULL COMMENT '角色名称',
|
|
`role_code` varchar(100) NOT NULL COMMENT '角色编码',
|
|
`status` tinyint(1) NOT NULL DEFAULT 1 COMMENT '1启用 0禁用',
|
|
`description` varchar(255) DEFAULT NULL COMMENT '说明',
|
|
`create_time` datetime DEFAULT NULL,
|
|
`update_time` datetime DEFAULT NULL,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `uk_role_code` (`role_code`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='角色';
|
|
|
|
INSERT INTO `sys_role_new` (`id`,`role_name`,`role_code`,`status`,`description`,`create_time`,`update_time`)
|
|
SELECT `id`,`role_name`,`role_code`,1,`description`,`create_time`,`update_time`
|
|
FROM `sys_role`;
|
|
|
|
DROP TABLE `sys_role`;
|
|
RENAME TABLE `sys_role_new` TO `sys_role`;
|
|
|
|
-- ---------- 账号-角色 ----------
|
|
DROP TABLE IF EXISTS `sys_user_role_new`;
|
|
CREATE TABLE `sys_user_role_new` (
|
|
`id` varchar(32) NOT NULL,
|
|
`user_id` varchar(32) NOT NULL,
|
|
`role_id` varchar(32) NOT NULL,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `uk_user_role` (`user_id`,`role_id`),
|
|
KEY `idx_role_id` (`role_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='账号角色关联';
|
|
|
|
INSERT INTO `sys_user_role_new` (`id`,`user_id`,`role_id`)
|
|
SELECT `id`,`user_id`,`role_id` FROM `sys_user_role`;
|
|
|
|
DROP TABLE `sys_user_role`;
|
|
RENAME TABLE `sys_user_role_new` TO `sys_user_role`;
|
|
|
|
-- ---------- 菜单+权限 ----------
|
|
DROP TABLE IF EXISTS `sys_permission_new`;
|
|
CREATE TABLE `sys_permission_new` (
|
|
`id` varchar(32) NOT NULL,
|
|
`parent_id` varchar(32) DEFAULT NULL COMMENT '父菜单',
|
|
`name` varchar(100) NOT NULL COMMENT '菜单/权限名称',
|
|
`path` varchar(255) DEFAULT NULL COMMENT '路由或URL',
|
|
`menu_type` tinyint NOT NULL DEFAULT 0 COMMENT '0目录 1菜单 2按钮',
|
|
`perms` varchar(100) DEFAULT NULL COMMENT '权限码',
|
|
`icon` varchar(64) DEFAULT NULL COMMENT '图标',
|
|
`sort_no` int NOT NULL DEFAULT 0 COMMENT '排序',
|
|
`status` tinyint(1) NOT NULL DEFAULT 1 COMMENT '1启用 0禁用',
|
|
PRIMARY KEY (`id`),
|
|
KEY `idx_parent` (`parent_id`),
|
|
KEY `idx_perms` (`perms`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='菜单与权限';
|
|
|
|
INSERT INTO `sys_permission_new` (`id`,`parent_id`,`name`,`path`,`menu_type`,`perms`,`icon`,`sort_no`,`status`)
|
|
SELECT `id`,`parent_id`,`name`,`url`,IFNULL(`menu_type`,0),`perms`,`icon`,
|
|
IFNULL(CAST(`sort_no` AS SIGNED),0),
|
|
CASE WHEN `status` IN ('1','0') THEN CAST(`status` AS SIGNED) ELSE 1 END
|
|
FROM `sys_permission`;
|
|
|
|
DROP TABLE `sys_permission`;
|
|
RENAME TABLE `sys_permission_new` TO `sys_permission`;
|
|
|
|
-- ---------- 角色-权限 ----------
|
|
DROP TABLE IF EXISTS `sys_role_permission_new`;
|
|
CREATE TABLE `sys_role_permission_new` (
|
|
`id` varchar(32) NOT NULL,
|
|
`role_id` varchar(32) NOT NULL,
|
|
`permission_id` varchar(32) NOT NULL,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `uk_role_perm` (`role_id`,`permission_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='角色权限关联';
|
|
|
|
INSERT INTO `sys_role_permission_new` (`id`,`role_id`,`permission_id`)
|
|
SELECT MIN(`id`),`role_id`,`permission_id` FROM `sys_role_permission`
|
|
GROUP BY `role_id`,`permission_id`;
|
|
|
|
DROP TABLE `sys_role_permission`;
|
|
RENAME TABLE `sys_role_permission_new` TO `sys_role_permission`;
|
|
|
|
SET FOREIGN_KEY_CHECKS = 1;
|