58 lines
1.6 KiB
TypeScript
58 lines
1.6 KiB
TypeScript
import { PrismaClient } from '@prisma/client'
|
|
|
|
const prisma = new PrismaClient()
|
|
|
|
async function cleanup() {
|
|
console.log('Cleaning up dummy data...\n')
|
|
|
|
// Find and delete the dummy round
|
|
const dummyRound = await prisma.round.findFirst({
|
|
where: { slug: 'round-1-2026' },
|
|
include: { roundProjects: { include: { project: true } } }
|
|
})
|
|
|
|
if (dummyRound) {
|
|
console.log(`Found dummy round: ${dummyRound.name}`)
|
|
console.log(`Projects in round: ${dummyRound.roundProjects.length}`)
|
|
|
|
// Get project IDs to delete
|
|
const projectIds = dummyRound.roundProjects.map(rp => rp.projectId)
|
|
|
|
// Delete team members for these projects
|
|
if (projectIds.length > 0) {
|
|
const teamDeleted = await prisma.teamMember.deleteMany({
|
|
where: { projectId: { in: projectIds } }
|
|
})
|
|
console.log(`Deleted ${teamDeleted.count} team members`)
|
|
|
|
// Delete round-project associations
|
|
await prisma.roundProject.deleteMany({
|
|
where: { roundId: dummyRound.id }
|
|
})
|
|
console.log(`Deleted round-project associations`)
|
|
|
|
// Delete the projects
|
|
const projDeleted = await prisma.project.deleteMany({
|
|
where: { id: { in: projectIds } }
|
|
})
|
|
console.log(`Deleted ${projDeleted.count} dummy projects`)
|
|
}
|
|
|
|
// Delete the round
|
|
await prisma.round.delete({ where: { id: dummyRound.id } })
|
|
console.log('Deleted dummy round')
|
|
} else {
|
|
console.log('No dummy round found')
|
|
}
|
|
|
|
console.log('\nCleanup complete!')
|
|
}
|
|
|
|
cleanup()
|
|
.then(() => prisma.$disconnect())
|
|
.catch(async (e) => {
|
|
console.error(e)
|
|
await prisma.$disconnect()
|
|
process.exit(1)
|
|
})
|