| 12345678910111213141516171819202122232425262728 |
- const { prisma } = require('../src/models');
- (async () => {
- // Find duplicate chapterIds in TtsTask
- const dups = await prisma.ttsTask.groupBy({
- by: ['chapterId'],
- _count: { id: true },
- having: { id: { _count: { gt: 1 } } },
- });
- console.log(`Chapters with duplicate TtsTask entries: ${dups.length}`);
-
- let totalDeleted = 0;
- for (const d of dups) {
- const tasks = await prisma.ttsTask.findMany({
- where: { chapterId: d.chapterId },
- orderBy: { id: 'desc' },
- select: { id: true, status: true }
- });
- const keepId = tasks[0].id;
- const del = await prisma.ttsTask.deleteMany({
- where: { chapterId: d.chapterId, id: { not: keepId } }
- });
- totalDeleted += del.count;
- }
-
- const remaining = await prisma.ttsTask.count();
- console.log(`Deleted ${totalDeleted} duplicates. Remaining: ${remaining}`);
- await prisma.$disconnect();
- })();
|