import { PrismaClient } from '@prisma/client'; const prisma = new PrismaClient(); async function main() { // 获取所有赛事活动相关菜单 const activityMenus = await prisma.menu.findMany({ where: { path: { startsWith: '/student-activities' } }, orderBy: { sort: 'asc' } }); console.log('📋 赛事活动相关菜单:'); activityMenus.forEach(m => { console.log(` ID: ${m.id} | ${m.name} | ${m.path}`); }); // 获取租户1的菜单分配 console.log('\n📋 租户1的菜单分配:'); const tenantMenus = await prisma.tenantMenu.findMany({ where: { tenantId: 1 }, include: { menu: true } }); const assignedMenuIds = tenantMenus.map(tm => tm.menuId); // 检查哪些赛事活动菜单已分配 console.log('\n赛事活动菜单分配状态:'); activityMenus.forEach(m => { const assigned = assignedMenuIds.includes(m.id); console.log(` ${assigned ? '✅' : '❌'} ${m.name} (ID: ${m.id})`); }); // 补充分配缺失的菜单 console.log('\n📝 补充分配缺失的菜单...'); for (const menu of activityMenus) { if (!assignedMenuIds.includes(menu.id)) { await prisma.tenantMenu.create({ data: { tenantId: 1, menuId: menu.id } }); console.log(` ✅ 已分配: ${menu.name}`); } } console.log('\n✅ 完成!'); } main() .catch(console.error) .finally(() => prisma.$disconnect());