pratikbackend / reset_db.py
Antaram's picture
Upload 96 files
7647b38 verified
Raw
History Blame Contribute Delete
1.4 kB
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())