import asyncio from database import engine, AsyncSessionLocal from sqlalchemy import text from models import Base, Subject, Attendance, Alert, HOD from routers.auth import get_password_hash async def clear_data(): async with AsyncSessionLocal() as session: # Clear attendance await session.execute(text("DELETE FROM face_embeddings")) await session.execute(text("DELETE FROM alerts")) await session.execute(text("DELETE FROM attendance")) await session.execute(text("DELETE FROM students")) await session.execute(text("DELETE FROM faculty")) await session.execute(text("DELETE FROM hod WHERE email != 'shyamala@gmail.com'")) await session.execute(text("UPDATE subjects SET total_classes = 0, faculty_name = NULL")) # Check if shyamala exists from sqlalchemy.future import select result = await session.execute(select(HOD).where(HOD.email == 'shyamala@gmail.com')) if not result.scalars().first(): hod = HOD(name="Shyamala", email="shyamala@gmail.com", password_hash=get_password_hash("1"), department="CSE") session.add(hod) print("Added new HOD shyamala@gmail.com") await session.commit() print("Successfully cleared attendance, alerts, reset subjects, and added HOD.") if __name__ == "__main__": asyncio.run(clear_data())