| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- const { PrismaClient } = require('@prisma/client');
- const prisma = new PrismaClient();
- async function fixStatus() {
- console.log('\n📊 检查status字段:\n');
-
- const bookId = 5;
-
- // 检查status字段
- const statusCount = await prisma.bookChapter.groupBy({
- by: ['status'],
- where: {
- bookId,
- level: 3
- },
- _count: true
- });
-
- console.log('小节status统计:');
- statusCount.forEach(s => {
- console.log(` ${s.status || 'null'}: ${s._count}个`);
- });
-
- // 检查contentStatus
- const contentStatusCount = await prisma.bookChapter.groupBy({
- by: ['contentStatus'],
- where: {
- bookId,
- level: 3
- },
- _count: true
- });
-
- console.log('\n小节contentStatus统计:');
- contentStatusCount.forEach(s => {
- console.log(` ${s.contentStatus || 'null'}: ${s._count}个`);
- });
-
- // 如果status不是completed,修复它
- const notCompleted = await prisma.bookChapter.count({
- where: {
- bookId,
- level: 3,
- status: { not: 'completed' }
- }
- });
-
- if (notCompleted > 0) {
- console.log(`\n🔧 发现${notCompleted}个小节status不是completed,正在修复...\n`);
-
- const updated = await prisma.bookChapter.updateMany({
- where: {
- bookId,
- level: 3,
- status: { not: 'completed' }
- },
- data: {
- status: 'completed'
- }
- });
-
- console.log(`✅ 已更新${updated.count}个小节的status为completed\n`);
- } else {
- console.log('\n✅ 所有小节status都是completed\n');
- }
-
- await prisma.$disconnect();
- }
- fixStatus().catch(console.error);
|