chore: add rocket configuration menu SQL
This commit is contained in:
parent
58dd20c70a
commit
7b6199f0b7
113
.deploy/prod-deploy/sql/20260713_rocket_config_menu.sql
Normal file
113
.deploy/prod-deploy/sql/20260713_rocket_config_menu.sql
Normal file
@ -0,0 +1,113 @@
|
||||
-- Webconsole rocket configuration menu and API permissions.
|
||||
-- Adds the page under 运营管理/数据配置 and grants it to existing data-config roles.
|
||||
|
||||
SET NAMES utf8mb4;
|
||||
|
||||
INSERT INTO sys_resource (id, resource_name, mapping, method, auth_type, perm, update_time)
|
||||
VALUES
|
||||
(
|
||||
'rocket:config:list',
|
||||
'查询火箭配置',
|
||||
'/admin/rocket/config/list',
|
||||
'GET',
|
||||
3,
|
||||
'rocket:config:list',
|
||||
NOW()
|
||||
),
|
||||
(
|
||||
'rocket:config:update',
|
||||
'更新火箭配置',
|
||||
'/admin/rocket/config/update',
|
||||
'POST',
|
||||
3,
|
||||
'rocket:config:update',
|
||||
NOW()
|
||||
)
|
||||
ON DUPLICATE KEY UPDATE
|
||||
resource_name = VALUES(resource_name),
|
||||
mapping = VALUES(mapping),
|
||||
method = VALUES(method),
|
||||
auth_type = VALUES(auth_type),
|
||||
perm = VALUES(perm),
|
||||
update_time = NOW();
|
||||
|
||||
INSERT INTO sys_menu (
|
||||
parent_id,
|
||||
menu_name,
|
||||
path,
|
||||
router,
|
||||
menu_type,
|
||||
icon,
|
||||
alias,
|
||||
sort,
|
||||
status,
|
||||
create_user,
|
||||
update_user,
|
||||
create_time,
|
||||
update_time
|
||||
)
|
||||
SELECT
|
||||
parent.id,
|
||||
'火箭配置',
|
||||
'rocket/config/index',
|
||||
'rocket/config',
|
||||
2,
|
||||
'gift',
|
||||
'rocket:config',
|
||||
850,
|
||||
0,
|
||||
'0',
|
||||
'0',
|
||||
NOW(),
|
||||
NOW()
|
||||
FROM sys_menu parent
|
||||
LEFT JOIN sys_menu existing ON existing.alias = 'rocket:config'
|
||||
WHERE (parent.alias = 'data:conf' OR parent.menu_name = '数据配置')
|
||||
AND parent.menu_type = 1
|
||||
AND existing.id IS NULL
|
||||
LIMIT 1;
|
||||
|
||||
-- 关键逻辑:重复执行时同步菜单字段,并始终归属当前的数据配置目录。
|
||||
UPDATE sys_menu rocket_menu
|
||||
JOIN (
|
||||
SELECT id
|
||||
FROM sys_menu
|
||||
WHERE (alias = 'data:conf' OR menu_name = '数据配置')
|
||||
AND menu_type = 1
|
||||
LIMIT 1
|
||||
) parent ON 1 = 1
|
||||
SET
|
||||
rocket_menu.parent_id = parent.id,
|
||||
rocket_menu.menu_name = '火箭配置',
|
||||
rocket_menu.path = 'rocket/config/index',
|
||||
rocket_menu.router = 'rocket/config',
|
||||
rocket_menu.menu_type = 2,
|
||||
rocket_menu.icon = 'gift',
|
||||
rocket_menu.sort = 850,
|
||||
rocket_menu.status = 0,
|
||||
rocket_menu.update_user = '0',
|
||||
rocket_menu.update_time = NOW()
|
||||
WHERE rocket_menu.alias = 'rocket:config';
|
||||
|
||||
INSERT INTO sys_menu_resource (menu_id, resource_id)
|
||||
SELECT menu.id, resource.id
|
||||
FROM sys_menu menu
|
||||
JOIN sys_resource resource
|
||||
ON resource.id IN ('rocket:config:list', 'rocket:config:update')
|
||||
LEFT JOIN sys_menu_resource existing
|
||||
ON existing.menu_id = menu.id
|
||||
AND existing.resource_id = resource.id
|
||||
WHERE menu.alias = 'rocket:config'
|
||||
AND existing.id IS NULL;
|
||||
|
||||
-- 沿用数据配置目录的现有角色授权,避免将火箭配置开放给无关角色。
|
||||
INSERT INTO sys_role_menu (role_id, menu_id)
|
||||
SELECT DISTINCT source_role.role_id, rocket_menu.id
|
||||
FROM sys_role_menu source_role
|
||||
JOIN sys_menu source_menu ON source_menu.id = source_role.menu_id
|
||||
JOIN sys_menu rocket_menu ON rocket_menu.alias = 'rocket:config'
|
||||
LEFT JOIN sys_role_menu existing
|
||||
ON existing.role_id = source_role.role_id
|
||||
AND existing.menu_id = rocket_menu.id
|
||||
WHERE source_menu.alias = 'data:conf'
|
||||
AND existing.id IS NULL;
|
||||
113
.deploy/test-deploy/sql/20260713_rocket_config_menu.sql
Normal file
113
.deploy/test-deploy/sql/20260713_rocket_config_menu.sql
Normal file
@ -0,0 +1,113 @@
|
||||
-- Webconsole rocket configuration menu and API permissions.
|
||||
-- Adds the page under 运营管理/数据配置 and grants it to existing data-config roles.
|
||||
|
||||
SET NAMES utf8mb4;
|
||||
|
||||
INSERT INTO sys_resource (id, resource_name, mapping, method, auth_type, perm, update_time)
|
||||
VALUES
|
||||
(
|
||||
'rocket:config:list',
|
||||
'查询火箭配置',
|
||||
'/admin/rocket/config/list',
|
||||
'GET',
|
||||
3,
|
||||
'rocket:config:list',
|
||||
NOW()
|
||||
),
|
||||
(
|
||||
'rocket:config:update',
|
||||
'更新火箭配置',
|
||||
'/admin/rocket/config/update',
|
||||
'POST',
|
||||
3,
|
||||
'rocket:config:update',
|
||||
NOW()
|
||||
)
|
||||
ON DUPLICATE KEY UPDATE
|
||||
resource_name = VALUES(resource_name),
|
||||
mapping = VALUES(mapping),
|
||||
method = VALUES(method),
|
||||
auth_type = VALUES(auth_type),
|
||||
perm = VALUES(perm),
|
||||
update_time = NOW();
|
||||
|
||||
INSERT INTO sys_menu (
|
||||
parent_id,
|
||||
menu_name,
|
||||
path,
|
||||
router,
|
||||
menu_type,
|
||||
icon,
|
||||
alias,
|
||||
sort,
|
||||
status,
|
||||
create_user,
|
||||
update_user,
|
||||
create_time,
|
||||
update_time
|
||||
)
|
||||
SELECT
|
||||
parent.id,
|
||||
'火箭配置',
|
||||
'rocket/config/index',
|
||||
'rocket/config',
|
||||
2,
|
||||
'gift',
|
||||
'rocket:config',
|
||||
850,
|
||||
0,
|
||||
'0',
|
||||
'0',
|
||||
NOW(),
|
||||
NOW()
|
||||
FROM sys_menu parent
|
||||
LEFT JOIN sys_menu existing ON existing.alias = 'rocket:config'
|
||||
WHERE (parent.alias = 'data:conf' OR parent.menu_name = '数据配置')
|
||||
AND parent.menu_type = 1
|
||||
AND existing.id IS NULL
|
||||
LIMIT 1;
|
||||
|
||||
-- 关键逻辑:重复执行时同步菜单字段,并始终归属当前的数据配置目录。
|
||||
UPDATE sys_menu rocket_menu
|
||||
JOIN (
|
||||
SELECT id
|
||||
FROM sys_menu
|
||||
WHERE (alias = 'data:conf' OR menu_name = '数据配置')
|
||||
AND menu_type = 1
|
||||
LIMIT 1
|
||||
) parent ON 1 = 1
|
||||
SET
|
||||
rocket_menu.parent_id = parent.id,
|
||||
rocket_menu.menu_name = '火箭配置',
|
||||
rocket_menu.path = 'rocket/config/index',
|
||||
rocket_menu.router = 'rocket/config',
|
||||
rocket_menu.menu_type = 2,
|
||||
rocket_menu.icon = 'gift',
|
||||
rocket_menu.sort = 850,
|
||||
rocket_menu.status = 0,
|
||||
rocket_menu.update_user = '0',
|
||||
rocket_menu.update_time = NOW()
|
||||
WHERE rocket_menu.alias = 'rocket:config';
|
||||
|
||||
INSERT INTO sys_menu_resource (menu_id, resource_id)
|
||||
SELECT menu.id, resource.id
|
||||
FROM sys_menu menu
|
||||
JOIN sys_resource resource
|
||||
ON resource.id IN ('rocket:config:list', 'rocket:config:update')
|
||||
LEFT JOIN sys_menu_resource existing
|
||||
ON existing.menu_id = menu.id
|
||||
AND existing.resource_id = resource.id
|
||||
WHERE menu.alias = 'rocket:config'
|
||||
AND existing.id IS NULL;
|
||||
|
||||
-- 沿用数据配置目录的现有角色授权,避免将火箭配置开放给无关角色。
|
||||
INSERT INTO sys_role_menu (role_id, menu_id)
|
||||
SELECT DISTINCT source_role.role_id, rocket_menu.id
|
||||
FROM sys_role_menu source_role
|
||||
JOIN sys_menu source_menu ON source_menu.id = source_role.menu_id
|
||||
JOIN sys_menu rocket_menu ON rocket_menu.alias = 'rocket:config'
|
||||
LEFT JOIN sys_role_menu existing
|
||||
ON existing.role_id = source_role.role_id
|
||||
AND existing.menu_id = rocket_menu.id
|
||||
WHERE source_menu.alias = 'data:conf'
|
||||
AND existing.id IS NULL;
|
||||
Loading…
x
Reference in New Issue
Block a user