import { PrismaClient } from '@prisma/client';

const prisma = new PrismaClient();

async function clearTestData() {
  console.log('🗑️  Clearing all test data from database...\n');

  try {
    // Delete in correct order due to foreign key constraints
    console.log('Deleting results...');
    const results = await prisma.result.deleteMany({});
    console.log(`✓ Deleted ${results.count} results`);

    console.log('Deleting scrapes...');
    const scrapes = await prisma.scrape.deleteMany({});
    console.log(`✓ Deleted ${scrapes.count} scrapes`);

    console.log('Deleting runners...');
    const runners = await prisma.runner.deleteMany({});
    console.log(`✓ Deleted ${runners.count} runners`);

    console.log('Deleting races...');
    const races = await prisma.race.deleteMany({});
    console.log(`✓ Deleted ${races.count} races`);

    console.log('Deleting meetings...');
    const meetings = await prisma.meeting.deleteMany({});
    console.log(`✓ Deleted ${meetings.count} meetings`);

    console.log('Deleting job runs...');
    const jobRuns = await prisma.jobRun.deleteMany({});
    console.log(`✓ Deleted ${jobRuns.count} job runs`);

    console.log('\n✅ All test data cleared successfully!');
  } catch (error) {
    console.error('❌ Error clearing test data:', error);
    throw error;
  } finally {
    await prisma.$disconnect();
  }
}

clearTestData();
