-- 添加恒星系统管理菜单项 -- 将其放在天体数据管理之前(sort_order=0) -- 首先调整天体数据管理的sort_order,从1改为2 UPDATE menus SET sort_order = 2 WHERE id = 3 AND name = 'celestial_bodies'; -- 添加恒星系统管理菜单(sort_order=1,在天体数据管理之前) INSERT INTO menus ( parent_id, name, title, icon, path, component, sort_order, is_active, description ) VALUES ( 2, -- parent_id: 数据管理 'star_systems', '恒星系统管理', 'StarOutlined', '/admin/star-systems', 'StarSystems', 1, -- sort_order: 在天体数据管理(2)之前 true, '管理太阳系和系外恒星系统' ) ON CONFLICT DO NOTHING; -- 获取新插入的菜单ID并为管理员角色授权 DO $$ DECLARE menu_id INT; admin_role_id INT; BEGIN -- 获取刚插入的菜单ID SELECT id INTO menu_id FROM menus WHERE name = 'star_systems'; -- 获取管理员角色ID(通常是1) SELECT id INTO admin_role_id FROM roles WHERE name = 'admin' LIMIT 1; -- 为管理员角色授权 IF menu_id IS NOT NULL AND admin_role_id IS NOT NULL THEN INSERT INTO role_menus (role_id, menu_id) VALUES (admin_role_id, menu_id) ON CONFLICT DO NOTHING; END IF; END $$; -- 验证结果 SELECT id, name, title, path, parent_id, sort_order FROM menus WHERE parent_id = 2 ORDER BY sort_order, id;