2026-09-22-purge-oa-instance-data.sql 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. -- =============================================================================
  2. -- 清空 OA 审批「运行时实例」数据(上线前清理测试数据用)
  3. --
  4. -- 删除范围(物理删除):
  5. -- oa_instance_view_grant 评论@产生的查看授权
  6. -- oa_instance_comment 实例评论
  7. -- oa_relation 关联审批
  8. -- oa_instance_event 实例操作事件
  9. -- oa_task 待办/已办/抄送任务
  10. -- oa_instance 审批实例
  11. -- oa_instance_draft 发起审批草稿(非模板设计草稿)
  12. --
  13. -- 保留(不删除):
  14. -- oa_app_group / oa_app / oa_app_version 流程定义与已发布版本
  15. -- oa_receive_account 收款账户主数据
  16. --
  17. -- 使用前请先备份;默认清理全部租户。若只清某一租户,取消下方 @tenant_no 注释并赋值。
  18. -- =============================================================================
  19. -- SET @tenant_no = 'zkxw';
  20. START TRANSACTION;
  21. -- 1) 评论查看授权
  22. DELETE FROM `oa_instance_view_grant`
  23. -- WHERE `tenant_no` = @tenant_no
  24. ;
  25. -- 2) 实例评论
  26. DELETE FROM `oa_instance_comment`
  27. -- WHERE `tenant_no` = @tenant_no
  28. ;
  29. -- 3) 关联审批
  30. DELETE FROM `oa_relation`
  31. -- WHERE `tenant_no` = @tenant_no
  32. ;
  33. -- 4) 实例事件
  34. DELETE FROM `oa_instance_event`
  35. -- WHERE `tenant_no` = @tenant_no
  36. ;
  37. -- 5) 审批任务
  38. DELETE FROM `oa_task`
  39. -- WHERE `tenant_no` = @tenant_no
  40. ;
  41. -- 6) 审批实例
  42. DELETE FROM `oa_instance`
  43. -- WHERE `tenant_no` = @tenant_no
  44. ;
  45. -- 7) 发起草稿
  46. DELETE FROM `oa_instance_draft`
  47. -- WHERE `tenant_no` = @tenant_no
  48. ;
  49. COMMIT;
  50. -- 执行后核对(期望均为 0)
  51. SELECT 'oa_instance_view_grant' AS tbl, COUNT(*) AS cnt FROM `oa_instance_view_grant`
  52. UNION ALL SELECT 'oa_instance_comment', COUNT(*) FROM `oa_instance_comment`
  53. UNION ALL SELECT 'oa_relation', COUNT(*) FROM `oa_relation`
  54. UNION ALL SELECT 'oa_instance_event', COUNT(*) FROM `oa_instance_event`
  55. UNION ALL SELECT 'oa_task', COUNT(*) FROM `oa_task`
  56. UNION ALL SELECT 'oa_instance', COUNT(*) FROM `oa_instance`
  57. UNION ALL SELECT 'oa_instance_draft', COUNT(*) FROM `oa_instance_draft`;