drop_removed_modules_tables.sql 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. -- ============================================================
  2. -- 样本中心改造:删除已移除模块相关的数据库表
  3. -- 涉及模块:应用管理、统一认证平台(SSO服务端)
  4. -- 执行前请备份数据库!
  5. -- ============================================================
  6. -- 说明:
  7. -- 本次改造移除了"应用管理"和"统一认证平台服务端"功能,
  8. -- 以下脚本用于清理对应的数据库表。
  9. -- t_oauth_access_tokens / t_oauth_token_blacklist 仍被本地
  10. -- JWT 认证(含SSO回调后的本地Token发放)使用,予以保留。
  11. -- ============================================================
  12. -- --------------------------------------------------------
  13. -- 步骤1:解除 t_oauth_access_tokens 对 t_sys_app 的外键依赖
  14. -- 该表仍需保留用于本地认证,只需删除外键约束
  15. -- --------------------------------------------------------
  16. SET @fk_name = (
  17. SELECT CONSTRAINT_NAME
  18. FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
  19. WHERE TABLE_NAME = 't_oauth_access_tokens'
  20. AND COLUMN_NAME = 'app_id'
  21. AND REFERENCED_TABLE_NAME = 't_sys_app'
  22. AND TABLE_SCHEMA = DATABASE()
  23. );
  24. SET @sql = IF(@fk_name IS NOT NULL,
  25. CONCAT('ALTER TABLE t_oauth_access_tokens DROP FOREIGN KEY ', @fk_name),
  26. 'SELECT 1'
  27. );
  28. PREPARE stmt FROM @sql;
  29. EXECUTE stmt;
  30. DEALLOCATE PREPARE stmt;
  31. -- --------------------------------------------------------
  32. -- 步骤2:删除 OAuth 授权码表(统一认证平台服务端专用)
  33. -- 该表仅用于 OAuth2 授权码流程,现已无服务端授权需求
  34. -- --------------------------------------------------------
  35. DROP TABLE IF EXISTS t_oauth_authorization_codes;
  36. -- --------------------------------------------------------
  37. -- 步骤3:删除同步日志表(应用管理专用)
  38. -- 记录应用数据同步日志,随应用管理模块一并移除
  39. -- --------------------------------------------------------
  40. DROP TABLE IF EXISTS t_sys_sync_log;
  41. -- --------------------------------------------------------
  42. -- 步骤4:删除应用权限表(应用管理专用)
  43. -- 定义各应用的权限点,随应用管理模块一并移除
  44. -- --------------------------------------------------------
  45. DROP TABLE IF EXISTS t_sys_app_permission;
  46. -- --------------------------------------------------------
  47. -- 步骤5:删除应用表(应用管理模块核心表)
  48. -- 存储 OAuth2 客户端/应用注册信息,现已无应用管理需求
  49. -- --------------------------------------------------------
  50. DROP TABLE IF EXISTS t_sys_app;
  51. -- ============================================================
  52. -- 保留表说明(请勿删除):
  53. -- t_oauth_access_tokens -- 本地JWT令牌存储(本地登录 + SSO回调后发放)
  54. -- t_oauth_token_blacklist -- 令牌黑名单(登出时使用)
  55. -- t_sys_login_log -- 登录日志(系统管理仍在使用)
  56. -- t_sys_operation_log -- 操作日志(系统管理仍在使用)
  57. -- ============================================================