#!/usr/bin/env python
"""
Script to clear test data from the database
"""
import os
import django

# Setup Django environment
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'yatra_testing.settings')
django.setup()

from testing_app.models import *

def clear_test_data():
    """Clear all test data from the database"""
    print("🧹 Clearing test data...")
    
    try:
        # Clear in order to avoid foreign key constraints
        booking_count = Booking.objects.count()
        schedule_count = Schedule.objects.count()
        bus_count = Bus.objects.count()
        route_count = Route.objects.count()
        operator_count = Operator.objects.count()
        user_count = User.objects.count()
        city_count = City.objects.count()
        
        # Delete data
        Booking.objects.all().delete()
        Schedule.objects.all().delete()
        Bus.objects.all().delete()
        Route.objects.all().delete()
        Operator.objects.all().delete()
        User.objects.all().delete()
        City.objects.all().delete()
        
        print(f"✅ Cleared test data:")
        print(f"   📝 Bookings: {booking_count}")
        print(f"   📅 Schedules: {schedule_count}")
        print(f"   🚌 Buses: {bus_count}")
        print(f"   🗺️ Routes: {route_count}")
        print(f"   🏢 Operators: {operator_count}")
        print(f"   👥 Users: {user_count}")
        print(f"   🏙️ Cities: {city_count}")
        
    except Exception as e:
        print(f"❌ Error clearing data: {e}")

if __name__ == '__main__':
    clear_test_data()