clear_biz_orders.py 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #!/usr/bin/env python3
  2. """清空订单及相关表(开发调试用)。用法:在 backend 目录执行 python scripts/clear_biz_orders.py"""
  3. from __future__ import annotations
  4. import sys
  5. from pathlib import Path
  6. sys.path.insert(0, str(Path(__file__).resolve().parent.parent))
  7. from sqlalchemy import text
  8. from app.core.database import engine
  9. TABLES = [
  10. "biz_order_status_log_his",
  11. "biz_order_status_log",
  12. "biz_order_item",
  13. "biz_order_his",
  14. "biz_order_adjust_his",
  15. "biz_order_adjust",
  16. "biz_wechat_pay",
  17. "biz_refund_his",
  18. "biz_refund",
  19. "biz_settlement_his",
  20. "biz_settlement",
  21. "biz_invoice",
  22. "biz_deliverer_review_his",
  23. "biz_deliverer_review",
  24. "biz_delivery_warning_his",
  25. "biz_delivery_warning",
  26. "biz_delivery_task_item",
  27. "biz_delivery_task_his",
  28. "biz_delivery_task",
  29. "biz_order",
  30. ]
  31. def main() -> None:
  32. with engine.begin() as conn:
  33. conn.execute(text("SET FOREIGN_KEY_CHECKS=0"))
  34. for t in TABLES:
  35. conn.execute(text(f"TRUNCATE TABLE `{t}`"))
  36. conn.execute(text("SET FOREIGN_KEY_CHECKS=1"))
  37. print("已清空订单及相关表:", ", ".join(TABLES))
  38. if __name__ == "__main__":
  39. main()