update-chapters-status.ts 942 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import { PrismaClient } from '@prisma/client';
  2. const prisma = new PrismaClient();
  3. async function main() {
  4. console.log('开始更新 BookChapter 表状态...');
  5. // 先统计当前状态
  6. const statusStats = await prisma.bookChapter.groupBy({
  7. by: ['status'],
  8. _count: {
  9. id: true,
  10. },
  11. });
  12. console.log('更新前状态统计:', statusStats);
  13. // 更新所有记录状态为 completed
  14. const result = await prisma.bookChapter.updateMany({
  15. data: {
  16. status: 'completed',
  17. },
  18. });
  19. console.log(`更新完成,共更新 ${result.count} 条记录`);
  20. // 验证更新结果
  21. const afterStats = await prisma.bookChapter.groupBy({
  22. by: ['status'],
  23. _count: {
  24. id: true,
  25. },
  26. });
  27. console.log('更新后状态统计:', afterStats);
  28. }
  29. main()
  30. .catch((e) => {
  31. console.error('更新失败:', e);
  32. process.exit(1);
  33. })
  34. .finally(async () => {
  35. await prisma.$disconnect();
  36. });