import asyncio from sqlalchemy import text from app.core.database import engine async def reset_database(): async with engine.begin() as conn: # Delete all data from all tables await conn.execute(text("DELETE FROM stock_ledger")) await conn.execute(text("DELETE FROM transaction_payments")) await conn.execute(text("DELETE FROM transaction_items")) await conn.execute(text("DELETE FROM transactions")) await conn.execute(text("DELETE FROM patti_transaction_items")) await conn.execute(text("DELETE FROM patti_transactions")) await conn.execute(text("DELETE FROM party_jama_entries")) await conn.execute(text("DELETE FROM bill_number_sequences")) await conn.execute(text("DELETE FROM parties")) await conn.execute(text("DELETE FROM mirchi_types")) print("Cleared all tables") # Drop and recreate enum await conn.execute(text("ALTER TABLE parties ALTER COLUMN party_type TYPE TEXT")) await conn.execute(text("DROP TYPE IF EXISTS partytype CASCADE")) await conn.execute(text("CREATE TYPE partytype AS ENUM ('awaak', 'jawaak', 'patti_awaak', 'both')")) await conn.execute(text("ALTER TABLE parties ALTER COLUMN party_type TYPE partytype USING party_type::partytype")) print("Recreated enum with lowercase values") asyncio.run(reset_database())