-- ============================================= -- 角色权限回滚脚本 -- 如果迁移出现问题,可以从备份表恢复数据 -- ============================================= SET NAMES utf8mb4; -- ============================================= -- 步骤1: 从备份表恢复数据到 yz_role_menus -- ============================================= -- 如果 yz_role_menus 表被删除,先创建它 CREATE TABLE IF NOT EXISTS yz_role_menus ( id INT AUTO_INCREMENT PRIMARY KEY, role_id INT NOT NULL, menu_id INT NOT NULL, create_time DATETIME DEFAULT CURRENT_TIMESTAMP, create_by VARCHAR(50) NULL, UNIQUE KEY uk_role_menu (role_id, menu_id), INDEX idx_role_id (role_id), INDEX idx_menu_id (menu_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='角色菜单关联表(备份恢复)'; -- 从备份表恢复数据 INSERT INTO yz_role_menus (id, role_id, menu_id, create_time, create_by) SELECT id, role_id, menu_id, create_time, create_by FROM yz_role_menus_backup ON DUPLICATE KEY UPDATE menu_id = VALUES(menu_id), create_time = VALUES(create_time), create_by = VALUES(create_by); SELECT '数据恢复完成' AS message; -- ============================================= -- 步骤2: 如果需要移除 menu_ids 字段(可选) -- ============================================= -- 注意:如果确定要移除新字段,可以执行以下命令 -- ALTER TABLE yz_roles DROP COLUMN menu_ids;