from django.core.management.base import BaseCommand
from django.db import connection


class Command(BaseCommand):
    help = "Clean up social auth tables and migrations"

    def handle(self, *args, **options):
        with connection.cursor() as cursor:
            # Drop social auth tables
            cursor.execute("DROP TABLE IF EXISTS socialaccount_socialapp")
            cursor.execute("DROP TABLE IF EXISTS socialaccount_socialapp_sites")
            cursor.execute("DROP TABLE IF EXISTS socialaccount_socialaccount")
            cursor.execute("DROP TABLE IF EXISTS socialaccount_socialtoken")

            # Remove migration records
            cursor.execute("DELETE FROM django_migrations WHERE app='socialaccount'")
            cursor.execute("DELETE FROM django_migrations WHERE app='accounts' " "AND name LIKE '%social%'")

            # Reset sequences
            cursor.execute("DELETE FROM sqlite_sequence WHERE name LIKE '%social%'")

            self.stdout.write(self.style.SUCCESS("Successfully cleaned up social auth configuration"))
