新增用户管理页面
This commit is contained in:
123
backend/database/roles_init.sql
Normal file
123
backend/database/roles_init.sql
Normal file
@@ -0,0 +1,123 @@
|
||||
-- ============================================
|
||||
-- 梦幻西游一站式运营管理平台 - 角色表初始化脚本
|
||||
-- MySQL 8.4 兼容版本
|
||||
-- 创建日期:2026-01-04
|
||||
-- ============================================
|
||||
|
||||
-- 使用数据库
|
||||
USE mhxy_web_vue;
|
||||
|
||||
-- 设置字符集
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- ============================================
|
||||
-- 表:admin_roles(管理员角色表)
|
||||
-- ============================================
|
||||
DROP TABLE IF EXISTS `admin_roles`;
|
||||
CREATE TABLE `admin_roles` (
|
||||
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||
`role_name` VARCHAR(50) NOT NULL COMMENT '角色名称',
|
||||
`role_code` VARCHAR(50) NOT NULL COMMENT '角色编码',
|
||||
`description` VARCHAR(255) NULL COMMENT '角色描述',
|
||||
`status` TINYINT NOT NULL DEFAULT 1 COMMENT '状态(1:正常, 0:禁用)',
|
||||
`created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`updated_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE INDEX `idx_role_code` (`role_code`),
|
||||
INDEX `idx_status` (`status`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='管理员角色表';
|
||||
|
||||
-- ============================================
|
||||
-- 插入默认角色数据
|
||||
-- ============================================
|
||||
INSERT INTO `admin_roles` (`role_name`, `role_code`, `description`, `status`)
|
||||
VALUES
|
||||
('超级管理员', 'super_admin', '拥有系统所有权限', 1),
|
||||
('系统管理员', 'system_admin', '管理系统配置和用户', 1),
|
||||
('运营管理员', 'operation_admin', '负责运营相关功能', 1),
|
||||
('数据管理员', 'data_admin', '负责数据查询和导出', 1);
|
||||
|
||||
-- ============================================
|
||||
-- 修改 admin_users 表的 role_id 字段类型为 INT UNSIGNED
|
||||
-- ============================================
|
||||
ALTER TABLE `admin_users`
|
||||
MODIFY COLUMN `role_id` INT UNSIGNED NOT NULL DEFAULT 1 COMMENT '角色ID(1:超级管理员)';
|
||||
|
||||
-- ============================================
|
||||
-- 删除 admin_users 表上的外键约束(如果存在)
|
||||
-- ============================================
|
||||
-- 创建存储过程来删除外键
|
||||
DROP PROCEDURE IF EXISTS drop_foreign_key_if_exists;
|
||||
|
||||
DELIMITER $$
|
||||
CREATE PROCEDURE drop_foreign_key_if_exists()
|
||||
BEGIN
|
||||
DECLARE fk_name VARCHAR(64);
|
||||
|
||||
-- 查询外键名称
|
||||
SELECT CONSTRAINT_NAME INTO fk_name
|
||||
FROM information_schema.KEY_COLUMN_USAGE
|
||||
WHERE TABLE_SCHEMA = 'mhxy_web_vue'
|
||||
AND TABLE_NAME = 'admin_users'
|
||||
AND CONSTRAINT_NAME = 'fk_admin_users_role_id'
|
||||
AND REFERENCED_TABLE_NAME = 'admin_roles';
|
||||
|
||||
-- 如果外键存在,则删除
|
||||
IF fk_name IS NOT NULL THEN
|
||||
SET @sql = CONCAT('ALTER TABLE `admin_users` DROP FOREIGN KEY `', fk_name, '`');
|
||||
PREPARE stmt FROM @sql;
|
||||
EXECUTE stmt;
|
||||
DEALLOCATE PREPARE stmt;
|
||||
END IF;
|
||||
END$$
|
||||
DELIMITER ;
|
||||
|
||||
-- 执行存储过程
|
||||
CALL drop_foreign_key_if_exists();
|
||||
|
||||
-- 删除存储过程
|
||||
DROP PROCEDURE IF EXISTS drop_foreign_key_if_exists;
|
||||
|
||||
-- ============================================
|
||||
-- 添加外键约束
|
||||
-- ============================================
|
||||
ALTER TABLE `admin_users`
|
||||
ADD CONSTRAINT `fk_admin_users_role_id`
|
||||
FOREIGN KEY (`role_id`) REFERENCES `admin_roles` (`id`)
|
||||
ON DELETE RESTRICT
|
||||
ON UPDATE CASCADE;
|
||||
|
||||
-- ============================================
|
||||
-- 更新现有管理员账号的角色ID
|
||||
-- ============================================
|
||||
UPDATE `admin_users`
|
||||
SET `role_id` = 1
|
||||
WHERE `username` = 'admin';
|
||||
|
||||
-- ============================================
|
||||
-- 验证数据
|
||||
-- ============================================
|
||||
SELECT
|
||||
id,
|
||||
role_name,
|
||||
role_code,
|
||||
description,
|
||||
status,
|
||||
created_at
|
||||
FROM admin_roles;
|
||||
|
||||
SELECT
|
||||
au.id,
|
||||
au.username,
|
||||
au.real_name,
|
||||
au.role_id,
|
||||
ar.role_name,
|
||||
au.status,
|
||||
au.created_at
|
||||
FROM admin_users au
|
||||
LEFT JOIN admin_roles ar ON au.role_id = ar.id;
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
-- 初始化完成
|
||||
Reference in New Issue
Block a user