annator-command-center / scripts /reset_accounting.py
techprotrade's picture
Deploy ATOM FastAPI command center runtime (part 6)
383cb38 verified
Raw
History Blame Contribute Delete
1.04 kB
import logging
import os
import sys
from sqlalchemy import text
# Add the current directory to sys.path
sys.path.append(os.getcwd())
import accounting.models
from core.database import Base, engine
import core.models # Crucial for workspace table
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
def reset_accounting():
tables = [
"accounting_journal_entries",
"accounting_transactions",
"accounting_categorization_proposals",
"accounting_rules",
"accounting_budgets",
"accounting_accounts",
"accounting_tax_nexus",
"financial_close_checklists"
]
with engine.connect() as conn:
for table in tables:
conn.execute(text(f"DROP TABLE IF EXISTS {table} CASCADE"))
conn.commit()
logger.info("Dropped existing accounting tables")
Base.metadata.create_all(bind=engine)
logger.info("✅ Recreated accounting tables with new schema")
if __name__ == "__main__":
reset_accounting()