library-picturebook-activity/backend/scripts/move-student-homework-menu.ts
2026-01-09 18:14:35 +08:00

59 lines
1.6 KiB
TypeScript

import { PrismaClient } from '@prisma/client';
const prisma = new PrismaClient();
async function main() {
console.log('🔧 把"我的作业"移到"作业管理"下...\n');
// 1. 查找作业管理父菜单
const homeworkParent = await prisma.menu.findFirst({
where: { name: '作业管理', parentId: null }
});
if (!homeworkParent) {
console.log('❌ 未找到作业管理菜单');
return;
}
console.log('✅ 找到作业管理菜单 ID:', homeworkParent.id);
// 2. 查找我的作业菜单
const studentHomework = await prisma.menu.findFirst({
where: { path: '/student-homework' }
});
if (!studentHomework) {
console.log('❌ 未找到我的作业菜单');
return;
}
console.log('✅ 找到我的作业菜单 ID:', studentHomework.id);
// 3. 更新我的作业菜单,设置为作业管理的子菜单
await prisma.menu.update({
where: { id: studentHomework.id },
data: {
parentId: homeworkParent.id,
path: '/homework/student',
sort: 0, // 排在最前面
}
});
console.log('✅ 已更新我的作业为作业管理的子菜单');
// 4. 显示最终作业管理菜单结构
console.log('\n📋 作业管理最终菜单结构:');
const children = await prisma.menu.findMany({
where: { parentId: homeworkParent.id },
orderBy: { sort: 'asc' }
});
console.log(`- ${homeworkParent.name} (${homeworkParent.path})`);
children.forEach(c => {
console.log(` - ${c.name} (${c.path}) | component: ${c.component || '(null)'} | permission: ${c.permission}`);
});
console.log('\n✅ 完成!');
}
main()
.catch(console.error)
.finally(() => prisma.$disconnect());