cleanup_orphaned_tables.sql 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400
  1. -- ============================================================================
  2. -- ylrz_saas 数据库清理 SQL
  3. -- 生成时间: 2026-05-21
  4. -- 分析依据: 交叉比对 mapper XML 引用表(713张) vs 数据库实际表(865张)
  5. -- 孤儿表数: 288张 (在数据库中但无任何代码引用)
  6. --
  7. -- 分类说明:
  8. -- 类别A: 明显垃圾表 (copy/bak/test后缀) - 13张
  9. -- 类别B: 系统框架表 (Quartz/Liquibase/CodeGen) - 17张 [KEEP - 不删]
  10. -- 类别C: 分表/分区表 (fs_user_operation_log_*, qw_msg_*) - 20张 [需DBA确认]
  11. -- 类别D: 孤儿业务表 (无Mapper引用) - 238张
  12. --
  13. -- 当前文件包含: 类别A (13张) + 类别D (238张) = 251张
  14. -- 安全删除,这些表在代码中无任何引用
  15. -- ============================================================================
  16. -- ==============================
  17. -- 批次1: 类别A - 明显垃圾表 (13张)
  18. -- 这些是明显的 copy/bak/test 临时表
  19. -- ==============================
  20. DROP TABLE IF EXISTS `ab_test`;
  21. DROP TABLE IF EXISTS `company_menu_copy8.28`;
  22. DROP TABLE IF EXISTS `company_tag_copy1`;
  23. DROP TABLE IF EXISTS `fs_course_watch_log_bak`;
  24. DROP TABLE IF EXISTS `fs_user_course_period_copy1`;
  25. DROP TABLE IF EXISTS `fs_user_course_period_days_copy1`;
  26. DROP TABLE IF EXISTS `fs_user_information_collection_copy1`;
  27. DROP TABLE IF EXISTS `qw_company_copy1`;
  28. DROP TABLE IF EXISTS `qw_push_count_copy1`;
  29. DROP TABLE IF EXISTS `qw_restriction_push_record_copy1`;
  30. DROP TABLE IF EXISTS `qw_session_copy1`;
  31. DROP TABLE IF EXISTS `sys_dict_type_copy1`;
  32. DROP TABLE IF EXISTS `temp_danmu`;
  33. -- ==============================
  34. -- 批次2: 类别D - 孤儿业务表 (238张)
  35. -- 按前缀分组,这些表在代码中无任何 MyBatis Mapper 引用
  36. -- ==============================
  37. -- account_* (1)
  38. DROP TABLE IF EXISTS `account_balance_log`;
  39. -- ad_* (1)
  40. DROP TABLE IF EXISTS `ad_html_url`;
  41. -- adv_* (17) - 旧广告投放系统
  42. DROP TABLE IF EXISTS `adv_advertiser`;
  43. DROP TABLE IF EXISTS `adv_api_call_log`;
  44. DROP TABLE IF EXISTS `adv_callback_account`;
  45. DROP TABLE IF EXISTS `adv_callback_log`;
  46. DROP TABLE IF EXISTS `adv_channel`;
  47. DROP TABLE IF EXISTS `adv_conversion_log`;
  48. DROP TABLE IF EXISTS `adv_conversion_target`;
  49. DROP TABLE IF EXISTS `adv_domain_url`;
  50. DROP TABLE IF EXISTS `adv_event_type`;
  51. DROP TABLE IF EXISTS `adv_landing_page_template`;
  52. DROP TABLE IF EXISTS `adv_lead`;
  53. DROP TABLE IF EXISTS `adv_mini_config`;
  54. DROP TABLE IF EXISTS `adv_project`;
  55. DROP TABLE IF EXISTS `adv_promotion_account`;
  56. DROP TABLE IF EXISTS `adv_site`;
  57. DROP TABLE IF EXISTS `adv_site_statistics`;
  58. DROP TABLE IF EXISTS `adv_tracking_link`;
  59. -- agent_* (14) - 旧代理系统
  60. DROP TABLE IF EXISTS `agent`;
  61. DROP TABLE IF EXISTS `agent_commission_ratio`;
  62. DROP TABLE IF EXISTS `agent_commission_record`;
  63. DROP TABLE IF EXISTS `agent_income_summary`;
  64. DROP TABLE IF EXISTS `agent_level_config`;
  65. DROP TABLE IF EXISTS `agent_level_log`;
  66. DROP TABLE IF EXISTS `agent_prepaid_balance`;
  67. DROP TABLE IF EXISTS `agent_prepaid_recharge`;
  68. DROP TABLE IF EXISTS `agent_promote_record`;
  69. DROP TABLE IF EXISTS `agent_quota_log`;
  70. DROP TABLE IF EXISTS `agent_resource_auth`;
  71. DROP TABLE IF EXISTS `agent_settlement`;
  72. DROP TABLE IF EXISTS `agent_subsidy_record`;
  73. DROP TABLE IF EXISTS `agent_user`;
  74. -- ai_* (5) - 旧AI系统
  75. DROP TABLE IF EXISTS `ai_chat_log`;
  76. DROP TABLE IF EXISTS `ai_chat_tag_extract_log`;
  77. DROP TABLE IF EXISTS `ai_prompt`;
  78. DROP TABLE IF EXISTS `ai_sensitive_word`;
  79. DROP TABLE IF EXISTS `ai_transfer_rule`;
  80. -- aiob_* (3) - 百度AI外呼
  81. DROP TABLE IF EXISTS `aiob_baidu_call_api`;
  82. DROP TABLE IF EXISTS `aiob_baidu_encryption`;
  83. DROP TABLE IF EXISTS `aiob_baidu_task`;
  84. -- balance_* (1)
  85. DROP TABLE IF EXISTS `balance_rollback_error`;
  86. -- billing_* (1)
  87. DROP TABLE IF EXISTS `billing_statement_item`;
  88. -- chronic_* (1)
  89. DROP TABLE IF EXISTS `chronic_follow_plan`;
  90. -- cid_* (2)
  91. DROP TABLE IF EXISTS `cid_ipad_return_address`;
  92. DROP TABLE IF EXISTS `cid_ipad_return_message`;
  93. -- commission_* (2)
  94. DROP TABLE IF EXISTS `commission_config`;
  95. DROP TABLE IF EXISTS `commission_settle_rule`;
  96. -- company_* (16) - 旧公司模块表
  97. DROP TABLE IF EXISTS `company_bill`;
  98. DROP TABLE IF EXISTS `company_course_redpacket`;
  99. DROP TABLE IF EXISTS `company_external_api_call_log`;
  100. DROP TABLE IF EXISTS `company_external_api_config`;
  101. DROP TABLE IF EXISTS `company_extract`;
  102. DROP TABLE IF EXISTS `company_fs_user`;
  103. DROP TABLE IF EXISTS `company_link`;
  104. DROP TABLE IF EXISTS `company_lobster_tag_user_rel`;
  105. DROP TABLE IF EXISTS `company_recharge_order`;
  106. DROP TABLE IF EXISTS `company_red_package_logs`;
  107. DROP TABLE IF EXISTS `company_red_packet_balance_deduction_record`;
  108. DROP TABLE IF EXISTS `company_tag_group`;
  109. DROP TABLE IF EXISTS `company_traffic_record`;
  110. DROP TABLE IF EXISTS `company_traffic_record_log`;
  111. DROP TABLE IF EXISTS `company_voice_api_tiantian`;
  112. DROP TABLE IF EXISTS `company_voice_robotic_call_log`;
  113. -- crm_* (1)
  114. DROP TABLE IF EXISTS `crm_customer_call_log`;
  115. -- customer_* (5) - 旧客户管理
  116. DROP TABLE IF EXISTS `customer_auto_tag`;
  117. DROP TABLE IF EXISTS `customer_deposit`;
  118. DROP TABLE IF EXISTS `customer_lifecycle`;
  119. DROP TABLE IF EXISTS `customer_portrait`;
  120. DROP TABLE IF EXISTS `customer_tier`;
  121. -- dashboard_* (1)
  122. DROP TABLE IF EXISTS `dashboard_snapshot`;
  123. -- date_* (1)
  124. DROP TABLE IF EXISTS `date_comparison_config`;
  125. -- device_* (2)
  126. DROP TABLE IF EXISTS `device`;
  127. DROP TABLE IF EXISTS `device_type`;
  128. -- distribution_* (1)
  129. DROP TABLE IF EXISTS `distribution_order_split`;
  130. -- fastgpt_* (4)
  131. DROP TABLE IF EXISTS `fastgpt_chat_msg_log`;
  132. DROP TABLE IF EXISTS `fastgpt_countent`;
  133. DROP TABLE IF EXISTS `fastgpt_role_type`;
  134. DROP TABLE IF EXISTS `fastgpt_tag_content`;
  135. -- financial_* (1)
  136. DROP TABLE IF EXISTS `financial_ledger`;
  137. -- fs_* (52) - 旧FS平台业务表
  138. DROP TABLE IF EXISTS `fs_course_answer_logs_1`;
  139. DROP TABLE IF EXISTS `fs_course_order`;
  140. DROP TABLE IF EXISTS `fs_course_red_packet_log_1`;
  141. DROP TABLE IF EXISTS `fs_course_red_packet_retry`;
  142. DROP TABLE IF EXISTS `fs_course_watch_log_1`;
  143. DROP TABLE IF EXISTS `fs_delivery_notice`;
  144. DROP TABLE IF EXISTS `fs_delivery_notice_logs`;
  145. DROP TABLE IF EXISTS `fs_jst_aftersale_push`;
  146. DROP TABLE IF EXISTS `fs_jst_cod_push`;
  147. DROP TABLE IF EXISTS `fs_knowledge`;
  148. DROP TABLE IF EXISTS `fs_knowledge_cate`;
  149. DROP TABLE IF EXISTS `fs_mini_program_agreement`;
  150. DROP TABLE IF EXISTS `fs_miniprogram_sub_notify_task`;
  151. DROP TABLE IF EXISTS `fs_project_address_config`;
  152. DROP TABLE IF EXISTS `fs_promotional_active_resource`;
  153. DROP TABLE IF EXISTS `fs_sales_user_period_relation`;
  154. DROP TABLE IF EXISTS `fs_statistics_index_overview`;
  155. DROP TABLE IF EXISTS `fs_store_canvas`;
  156. DROP TABLE IF EXISTS `fs_store_cart`;
  157. DROP TABLE IF EXISTS `fs_store_coupon`;
  158. DROP TABLE IF EXISTS `fs_store_coupon_issue`;
  159. DROP TABLE IF EXISTS `fs_store_coupon_issue_user`;
  160. DROP TABLE IF EXISTS `fs_store_express`;
  161. DROP TABLE IF EXISTS `fs_store_hospital580_prescription_answer_scrm`;
  162. DROP TABLE IF EXISTS `fs_store_hospital580_prescription_chat_scrm`;
  163. DROP TABLE IF EXISTS `fs_store_hospital580_prescription_medicine_scrm`;
  164. DROP TABLE IF EXISTS `fs_store_hospital580_prescription_scrm`;
  165. DROP TABLE IF EXISTS `fs_store_hospital580_product_push_scrm`;
  166. DROP TABLE IF EXISTS `fs_store_hospital580_scrm`;
  167. DROP TABLE IF EXISTS `fs_store_level_scrm`;
  168. DROP TABLE IF EXISTS `fs_store_menu`;
  169. DROP TABLE IF EXISTS `fs_store_order_audit_log_scrm`;
  170. DROP TABLE IF EXISTS `fs_store_order_bill_log_scrm`;
  171. DROP TABLE IF EXISTS `fs_store_order_status`;
  172. DROP TABLE IF EXISTS `fs_store_product_attr_item_scrm`;
  173. DROP TABLE IF EXISTS `fs_store_product_details`;
  174. DROP TABLE IF EXISTS `fs_store_product_relation`;
  175. DROP TABLE IF EXISTS `fs_store_product_rule`;
  176. DROP TABLE IF EXISTS `fs_tag_update_queue`;
  177. DROP TABLE IF EXISTS `fs_user_app_version`;
  178. DROP TABLE IF EXISTS `fs_user_black`;
  179. DROP TABLE IF EXISTS `fs_user_company_user_transfer_task`;
  180. DROP TABLE IF EXISTS `fs_user_company_user_transfer_task_detail`;
  181. DROP TABLE IF EXISTS `fs_user_course_live`;
  182. DROP TABLE IF EXISTS `fs_user_course_period_company`;
  183. DROP TABLE IF EXISTS `fs_user_course_video_task`;
  184. DROP TABLE IF EXISTS `fs_user_pop`;
  185. DROP TABLE IF EXISTS `fs_user_talent_wallet`;
  186. DROP TABLE IF EXISTS `fs_user_tui_money_rank`;
  187. DROP TABLE IF EXISTS `fs_watch_device_info`;
  188. DROP TABLE IF EXISTS `fs_watch_user`;
  189. DROP TABLE IF EXISTS `fs_wx_express_task`;
  190. -- health_* (1)
  191. DROP TABLE IF EXISTS `health_check_record`;
  192. -- inventory_* (1)
  193. DROP TABLE IF EXISTS `inventory_check`;
  194. -- invoice_* (1)
  195. DROP TABLE IF EXISTS `invoice`;
  196. -- kb_* (2)
  197. DROP TABLE IF EXISTS `kb_document`;
  198. DROP TABLE IF EXISTS `kb_knowledge_base`;
  199. -- live_* (26) - 旧直播系统
  200. DROP TABLE IF EXISTS `live_answer_red_packet`;
  201. DROP TABLE IF EXISTS `live_answer_red_packet_live`;
  202. DROP TABLE IF EXISTS `live_config`;
  203. DROP TABLE IF EXISTS `live_goods_order`;
  204. DROP TABLE IF EXISTS `live_goods_order_items`;
  205. DROP TABLE IF EXISTS `live_order_status`;
  206. DROP TABLE IF EXISTS `live_question`;
  207. DROP TABLE IF EXISTS `live_question_answer_red_packet`;
  208. DROP TABLE IF EXISTS `live_question_bank`;
  209. DROP TABLE IF EXISTS `live_question_live`;
  210. DROP TABLE IF EXISTS `live_question_user_log`;
  211. DROP TABLE IF EXISTS `live_reward_compensation`;
  212. DROP TABLE IF EXISTS `live_reward_record_wx`;
  213. DROP TABLE IF EXISTS `live_room_online_trend`;
  214. DROP TABLE IF EXISTS `live_student_data`;
  215. DROP TABLE IF EXISTS `live_user`;
  216. DROP TABLE IF EXISTS `live_user_gift`;
  217. DROP TABLE IF EXISTS `live_user_video_duration`;
  218. DROP TABLE IF EXISTS `live_user_watch_duration`;
  219. DROP TABLE IF EXISTS `live_watch_score_rule`;
  220. DROP TABLE IF EXISTS `live_watch_config`;
  221. -- lobster_* (13) - 旧Lobster AI工作流
  222. DROP TABLE IF EXISTS `lobster_api_registry`;
  223. DROP TABLE IF EXISTS `lobster_channel_type_registry`;
  224. DROP TABLE IF EXISTS `lobster_dialogue_state`;
  225. DROP TABLE IF EXISTS `lobster_event_node_audit`;
  226. DROP TABLE IF EXISTS `lobster_evolution_log`;
  227. DROP TABLE IF EXISTS `lobster_evolution_suggestion`;
  228. DROP TABLE IF EXISTS `lobster_heartbeat_registry`;
  229. DROP TABLE IF EXISTS `lobster_learning_corpus`;
  230. DROP TABLE IF EXISTS `lobster_message_delivery_log`;
  231. DROP TABLE IF EXISTS `lobster_system_prompt`;
  232. DROP TABLE IF EXISTS `lobster_unified_contact`;
  233. DROP TABLE IF EXISTS `lobster_user_node_optimization`;
  234. DROP TABLE IF EXISTS `lobster_workflow_node`;
  235. -- market_* (1)
  236. DROP TABLE IF EXISTS `market_push`;
  237. -- marketing_* (1)
  238. DROP TABLE IF EXISTS `marketing_trigger`;
  239. -- medical_* (2)
  240. DROP TABLE IF EXISTS `medical_insurance_config`;
  241. DROP TABLE IF EXISTS `medical_insurance_settlement`;
  242. -- medicine_* (1)
  243. DROP TABLE IF EXISTS `medicine_remind`;
  244. -- notify_* (2)
  245. DROP TABLE IF EXISTS `notify_record`;
  246. DROP TABLE IF EXISTS `notify_template`;
  247. -- pharmacist_* (1)
  248. DROP TABLE IF EXISTS `pharmacist`;
  249. -- platform_* (3)
  250. DROP TABLE IF EXISTS `platform_course`;
  251. DROP TABLE IF EXISTS `platform_live`;
  252. DROP TABLE IF EXISTS `platform_product`;
  253. -- prescription_* (1)
  254. DROP TABLE IF EXISTS `prescription`;
  255. -- procurement_* (1)
  256. DROP TABLE IF EXISTS `procurement_order_settle`;
  257. -- promotion_* (1)
  258. DROP TABLE IF EXISTS `promotion`;
  259. -- proxy_* (3) - 注意: proxy/proxy_oper_log/proxy_withdraw等在用,勿删!
  260. -- 只删除无mapper引用的:
  261. DROP TABLE IF EXISTS `proxy_balance_log`;
  262. DROP TABLE IF EXISTS `proxy_menu`;
  263. DROP TABLE IF EXISTS `proxy_role_menu`;
  264. -- purchase_* (2)
  265. DROP TABLE IF EXISTS `purchase_order`;
  266. DROP TABLE IF EXISTS `purchase_order_item`;
  267. -- qw_* (17) - 旧企微功能表
  268. DROP TABLE IF EXISTS `qw_assign_rule`;
  269. DROP TABLE IF EXISTS `qw_assign_rule_user`;
  270. DROP TABLE IF EXISTS `qw_config`;
  271. DROP TABLE IF EXISTS `qw_contact_way_welcome`;
  272. DROP TABLE IF EXISTS `qw_customer_link`;
  273. DROP TABLE IF EXISTS `qw_customer_link_channel`;
  274. DROP TABLE IF EXISTS `qw_customer_link_user`;
  275. DROP TABLE IF EXISTS `qw_external_ai_analyze_session`;
  276. DROP TABLE IF EXISTS `qw_group_actual`;
  277. DROP TABLE IF EXISTS `qw_group_live_code`;
  278. DROP TABLE IF EXISTS `qw_schedule`;
  279. DROP TABLE IF EXISTS `qw_sop_clickhouse`;
  280. DROP TABLE IF EXISTS `qw_sop_logs_clickhouse`;
  281. DROP TABLE IF EXISTS `qw_sop_service_provider`;
  282. DROP TABLE IF EXISTS `qw_sop_temp_qw_sop_temp`;
  283. DROP TABLE IF EXISTS `qw_user_del_loss_log`;
  284. DROP TABLE IF EXISTS `qw_work_short_link`;
  285. -- reconciliation_* (1)
  286. DROP TABLE IF EXISTS `reconciliation_report`;
  287. -- red_* (1)
  288. DROP TABLE IF EXISTS `red_packet_log`;
  289. -- resource_* (2)
  290. DROP TABLE IF EXISTS `resource_auth`;
  291. DROP TABLE IF EXISTS `resource_management`;
  292. -- saas_* (2)
  293. DROP TABLE IF EXISTS `saas_tenant`;
  294. DROP TABLE IF EXISTS `saas_tenant_config`;
  295. -- sales_* (3)
  296. DROP TABLE IF EXISTS `sales_performance_detail`;
  297. DROP TABLE IF EXISTS `sales_performance_pharmacist`;
  298. DROP TABLE IF EXISTS `sales_performance_store`;
  299. -- settlement_* (2)
  300. DROP TABLE IF EXISTS `settlement_batch`;
  301. DROP TABLE IF EXISTS `settlement_ratio`;
  302. -- shipment_* (1)
  303. DROP TABLE IF EXISTS `shipment`;
  304. -- stock_* (1)
  305. DROP TABLE IF EXISTS `stock_transfer`;
  306. -- store_* (1)
  307. DROP TABLE IF EXISTS `store_company_code`;
  308. -- supplier_* (1)
  309. DROP TABLE IF EXISTS `supplier`;
  310. -- sys_* (2) - 自定义系统配置(非若依框架)
  311. DROP TABLE IF EXISTS `sys_dept_config`;
  312. DROP TABLE IF EXISTS `sys_dept_config_log`;
  313. -- tenant_* (12) - 旧租户配置
  314. DROP TABLE IF EXISTS `tenant_custom_field`;
  315. DROP TABLE IF EXISTS `tenant_custom_field_index`;
  316. DROP TABLE IF EXISTS `tenant_fee_config`;
  317. DROP TABLE IF EXISTS `tenant_fee_consumption`;
  318. DROP TABLE IF EXISTS `tenant_package`;
  319. DROP TABLE IF EXISTS `tenant_package_order`;
  320. DROP TABLE IF EXISTS `tenant_prepaid_balance`;
  321. DROP TABLE IF EXISTS `tenant_product_import`;
  322. DROP TABLE IF EXISTS `tenant_recharge_order`;
  323. DROP TABLE IF EXISTS `tenant_resource`;
  324. DROP TABLE IF EXISTS `tenant_service_config`;
  325. DROP TABLE IF EXISTS `tenant_wallet_txn`;
  326. -- wechat_* (1)
  327. DROP TABLE IF EXISTS `wechat_customer_inherit_rule`;
  328. -- withdraw_* (1)
  329. DROP TABLE IF EXISTS `withdraw_apply`;
  330. -- wx_* (1)
  331. DROP TABLE IF EXISTS `wx_msg_log`;
  332. -- ============================================================================
  333. -- 总计: 251 张表
  334. -- ============================================================================
  335. --
  336. -- 未包含在本文中的需要保留的表:
  337. -- 1. 类别B (17张): qrtz_*(Quartz), databasechangelog*(Liquibase), gen_table*(生成器), sys_job/sys_job_log
  338. -- 2. 类别C (20张): fs_user_operation_log_0~9, qw_msg_0~9 - 可能为MySQL分区表,需DBA另行确认
  339. -- 3. Mapper引用表 (713张): 所有在 MyBatis Mapper XML 中有 SQL 引用的表
  340. -- 4. 动态SQL引用表: qw_sop, qw_sop_temp, crm_customer, ad_account, fs_store_product, live_video 等
  341. -- ============================================================================