live-forum/server/webapi/数据库脚本/v1.2.0_ALL_管理库.sql
zpc 442f32a043
All checks were successful
continuous-integration/drone/push Build is passing
feat(deployment): add v1.2.0 database scripts and improve Docker/auth configuration
- Add v1.2.0 complete database upgrade scripts for business and admin databases
- Enhance WeChat login logic to handle OpenId reassociation when user logs in via phone number
- Add UpdatedAt timestamp update in WeChat login record updates
- Configure Docker container permissions for AgileConfig cache file writes
- Add Caddy image tagging to CI-CD deployment documentation
- Update frontend Config.js for deployment configuration management
2026-03-26 22:10:57 +08:00

158 lines
9.4 KiB
Transact-SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- ==========================================
-- 团播机构 v1.2.0 管理库 (admin) 完整菜单配置脚本
-- 整合时间: 2025-01-25
-- 说明: 整合所有 v1.2.0 后台管理菜单和权限配置
-- 数据库: 后台管理数据库 (admin)
-- ==========================================
-- 包含模块:
-- 1. CDK 管理菜单 + 权限按钮
-- 2. 发帖回复时间间隔配置菜单 + 权限按钮
-- 3. 防沉迷规则管理菜单 + 权限按钮
-- ==========================================
PRINT '=========================================='
PRINT '开始执行 v1.2.0 管理库完整菜单配置脚本'
PRINT '执行时间: ' + CONVERT(VARCHAR, GETDATE(), 120)
PRINT '=========================================='
PRINT ''
-- ##########################################################
-- 模块1: CDK 管理菜单
-- ##########################################################
PRINT '>>> 模块1: CDK 管理菜单'
PRINT ''
IF NOT EXISTS (SELECT 1 FROM sys_menu WHERE path = 'tcdk' AND component = 'liveforum/tcdk')
BEGIN
INSERT INTO sys_menu (menuName, parentId, orderNum, path, component, isFrame, isCache, menuType, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
VALUES ('CDK管理', 1233, 10, 'tcdk', 'liveforum/tcdk', 1, 0, 'C', '0', '0', 'cdk:list', 'key', 'admin', GETDATE(), 'admin', GETDATE(), 'CDK激活码管理');
DECLARE @cdkMenuId BIGINT = SCOPE_IDENTITY();
PRINT '✓ CDK 管理菜单插入成功menuId: ' + CAST(@cdkMenuId AS VARCHAR);
-- 权限按钮
INSERT INTO sys_menu (menuName, parentId, orderNum, path, component, isFrame, isCache, menuType, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
VALUES ('查询', @cdkMenuId, 1, '#', NULL, 1, 0, 'F', '0', '0', 'cdk:query', '#', 'admin', GETDATE(), 'admin', GETDATE(), NULL);
INSERT INTO sys_menu (menuName, parentId, orderNum, path, component, isFrame, isCache, menuType, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
VALUES ('生成', @cdkMenuId, 2, '#', NULL, 1, 0, 'F', '0', '0', 'cdk:generate', '#', 'admin', GETDATE(), 'admin', GETDATE(), NULL);
INSERT INTO sys_menu (menuName, parentId, orderNum, path, component, isFrame, isCache, menuType, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
VALUES ('删除', @cdkMenuId, 3, '#', NULL, 1, 0, 'F', '0', '0', 'cdk:delete', '#', 'admin', GETDATE(), 'admin', GETDATE(), NULL);
INSERT INTO sys_menu (menuName, parentId, orderNum, path, component, isFrame, isCache, menuType, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
VALUES ('导出', @cdkMenuId, 4, '#', NULL, 1, 0, 'F', '0', '0', 'cdk:export', '#', 'admin', GETDATE(), 'admin', GETDATE(), NULL);
INSERT INTO sys_menu (menuName, parentId, orderNum, path, component, isFrame, isCache, menuType, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
VALUES ('设置', @cdkMenuId, 5, '#', NULL, 1, 0, 'F', '0', '0', 'settings:edit', '#', 'admin', GETDATE(), 'admin', GETDATE(), NULL);
INSERT INTO sys_menu (menuName, parentId, orderNum, path, component, isFrame, isCache, menuType, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
VALUES ('查询设置', @cdkMenuId, 6, '#', NULL, 1, 0, 'F', '0', '0', 'settings:query', '#', 'admin', GETDATE(), 'admin', GETDATE(), NULL);
PRINT '✓ CDK 权限按钮插入成功 (查询/生成/删除/导出/设置/查询设置)'
-- 为管理员角色分配权限
INSERT INTO sys_role_menu (Role_id, Menu_id, Create_time)
SELECT 1, menuId, GETDATE()
FROM sys_menu WHERE menuId >= @cdkMenuId;
PRINT '✓ CDK 菜单权限已分配给管理员角色'
END
ELSE
PRINT '⚠ CDK 管理菜单已存在,跳过'
PRINT ''
-- ##########################################################
-- 模块2: 发帖回复时间间隔配置菜单
-- ##########################################################
PRINT '>>> 模块2: 发帖回复时间间隔配置菜单'
PRINT ''
IF NOT EXISTS (SELECT 1 FROM sys_menu WHERE path = 'tpostreplyintervals' AND component = 'liveforum/tpostreplyintervals')
BEGIN
INSERT INTO sys_menu (menuName, parentId, orderNum, path, component, isFrame, isCache, menuType, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
VALUES ('时间间隔配置', 1233, 12, 'tpostreplyintervals', 'liveforum/tpostreplyintervals', 1, 0, 'C', '0', '0', 'tpostreplyintervals:list', 'time-range', 'admin', GETDATE(), 'admin', GETDATE(), '发帖回复时间间隔配置');
DECLARE @intervalMenuId BIGINT = SCOPE_IDENTITY();
PRINT '✓ 时间间隔配置菜单插入成功menuId: ' + CAST(@intervalMenuId AS VARCHAR);
-- 权限按钮
INSERT INTO sys_menu (menuName, parentId, orderNum, path, component, isFrame, isCache, menuType, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
VALUES ('查询', @intervalMenuId, 1, '', NULL, 1, 0, 'F', '0', '0', 'tpostreplyintervals:list', '#', 'admin', GETDATE(), 'admin', GETDATE(), NULL);
INSERT INTO sys_menu (menuName, parentId, orderNum, path, component, isFrame, isCache, menuType, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
VALUES ('编辑', @intervalMenuId, 2, '', NULL, 1, 0, 'F', '0', '0', 'tpostreplyintervals:edit', '#', 'admin', GETDATE(), 'admin', GETDATE(), NULL);
PRINT '✓ 时间间隔配置权限按钮插入成功 (查询/编辑)'
-- 为管理员角色分配权限
INSERT INTO sys_role_menu (Role_id, Menu_id, Create_time)
SELECT 1, menuId, GETDATE()
FROM sys_menu WHERE menuId >= @intervalMenuId;
PRINT '✓ 时间间隔配置菜单权限已分配给管理员角色'
END
ELSE
PRINT '⚠ 时间间隔配置菜单已存在,跳过'
PRINT ''
-- ##########################################################
-- 模块3: 防沉迷规则管理菜单
-- ##########################################################
PRINT '>>> 模块3: 防沉迷规则管理菜单'
PRINT ''
IF NOT EXISTS (SELECT 1 FROM sys_menu WHERE path = 'tantiaddictionrules' AND component = 'liveforum/tantiaddictionrules/index')
BEGIN
INSERT INTO sys_menu (menuName, parentId, orderNum, path, component, isFrame, isCache, menuType, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
VALUES ('防沉迷规则', 1233, 13, 'tantiaddictionrules', 'liveforum/tantiaddictionrules/index', 1, 0, 'C', '0', '0', 'tantiaddictionrules:list', 'time-range', 'admin', GETDATE(), 'admin', GETDATE(), '防沉迷规则配置管理');
DECLARE @antiAddictionMenuId BIGINT = SCOPE_IDENTITY();
PRINT '✓ 防沉迷规则管理菜单插入成功menuId: ' + CAST(@antiAddictionMenuId AS VARCHAR);
-- 权限按钮
INSERT INTO sys_menu (menuName, parentId, orderNum, path, component, isFrame, isCache, menuType, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
VALUES ('查询', @antiAddictionMenuId, 1, '#', NULL, 1, 0, 'F', '0', '0', 'tantiaddictionrules:query', '#', 'admin', GETDATE(), 'admin', GETDATE(), NULL);
INSERT INTO sys_menu (menuName, parentId, orderNum, path, component, isFrame, isCache, menuType, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
VALUES ('新增', @antiAddictionMenuId, 2, '#', NULL, 1, 0, 'F', '0', '0', 'tantiaddictionrules:add', '#', 'admin', GETDATE(), 'admin', GETDATE(), NULL);
INSERT INTO sys_menu (menuName, parentId, orderNum, path, component, isFrame, isCache, menuType, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
VALUES ('编辑', @antiAddictionMenuId, 3, '#', NULL, 1, 0, 'F', '0', '0', 'tantiaddictionrules:edit', '#', 'admin', GETDATE(), 'admin', GETDATE(), NULL);
INSERT INTO sys_menu (menuName, parentId, orderNum, path, component, isFrame, isCache, menuType, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
VALUES ('删除', @antiAddictionMenuId, 4, '#', NULL, 1, 0, 'F', '0', '0', 'tantiaddictionrules:delete', '#', 'admin', GETDATE(), 'admin', GETDATE(), NULL);
PRINT '✓ 防沉迷规则权限按钮插入成功 (查询/新增/编辑/删除)'
-- 为管理员角色分配权限
INSERT INTO sys_role_menu (Role_id, Menu_id, Create_time)
SELECT 1, menuId, GETDATE()
FROM sys_menu WHERE menuId >= @antiAddictionMenuId;
PRINT '✓ 防沉迷规则菜单权限已分配给管理员角色'
END
ELSE
PRINT '⚠ 防沉迷规则管理菜单已存在,跳过'
PRINT ''
-- ##########################################################
-- 配置完成
-- ##########################################################
PRINT '=========================================='
PRINT 'v1.2.0 管理库完整菜单配置脚本执行完成!'
PRINT '完成时间: ' + CONVERT(VARCHAR, GETDATE(), 120)
PRINT '=========================================='
PRINT ''
PRINT '配置内容总结:'
PRINT ' 模块1: CDK 管理菜单 (6个权限按钮: 查询/生成/删除/导出/设置/查询设置)'
PRINT ' 模块2: 时间间隔配置菜单 (2个权限按钮: 查询/编辑)'
PRINT ' 模块3: 防沉迷规则管理菜单 (4个权限按钮: 查询/新增/编辑/删除)'
PRINT ''
PRINT '注意: 所有菜单位于"系统配置"(parentId=1233)目录下'
PRINT ' 需要刷新浏览器或重新登录才能看到新菜单'
PRINT '=========================================='