init.sql 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328
  1. -- ============================================================
  2. -- 医学影像智能质控系统 - 数据库初始化脚本
  3. -- Database: qconline
  4. -- Version: 1.0.0
  5. -- Date: 2025-12-25
  6. -- ============================================================
  7. -- 创建数据库
  8. CREATE DATABASE IF NOT EXISTS `qconline` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  9. USE `qconline`;
  10. -- ============================================================
  11. -- 1. 系统管理模块(5张表)
  12. -- ============================================================
  13. -- 1.1 系统用户表
  14. DROP TABLE IF EXISTS `sys_user`;
  15. CREATE TABLE `sys_user` (
  16. `id` varchar(32) NOT NULL COMMENT '主键ID',
  17. `username` varchar(50) NOT NULL COMMENT '用户名',
  18. `password` varchar(255) NOT NULL COMMENT '密码(加密)',
  19. `realname` varchar(50) NOT NULL COMMENT '真实姓名',
  20. `phone` varchar(20) DEFAULT NULL COMMENT '手机号',
  21. `email` varchar(100) DEFAULT NULL COMMENT '邮箱',
  22. `avatar` varchar(255) DEFAULT NULL COMMENT '头像',
  23. `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态:1启用 0禁用',
  24. `is_admin` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否管理员:1是 0否',
  25. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  26. `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  27. PRIMARY KEY (`id`),
  28. UNIQUE KEY `uk_username` (`username`),
  29. KEY `idx_status` (`status`)
  30. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='系统用户表';
  31. -- 1.2 机构表
  32. DROP TABLE IF EXISTS `institution`;
  33. CREATE TABLE `institution` (
  34. `id` varchar(32) NOT NULL COMMENT '主键ID',
  35. `institution_code` varchar(50) NOT NULL COMMENT '机构编码',
  36. `institution_name` varchar(100) NOT NULL COMMENT '机构名称',
  37. `parent_id` varchar(32) DEFAULT '0' COMMENT '父机构ID,0表示顶级机构',
  38. `level` int NOT NULL DEFAULT '1' COMMENT '层级:1一级 2二级...',
  39. `contact_person` varchar(50) DEFAULT NULL COMMENT '联系人',
  40. `contact_phone` varchar(20) DEFAULT NULL COMMENT '联系电话',
  41. `address` varchar(255) DEFAULT NULL COMMENT '地址',
  42. `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态:1启用 0禁用',
  43. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  44. `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  45. PRIMARY KEY (`id`),
  46. UNIQUE KEY `uk_code` (`institution_code`),
  47. KEY `idx_parent` (`parent_id`),
  48. KEY `idx_status` (`status`)
  49. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='机构表';
  50. -- 1.3 用户机构关联表
  51. DROP TABLE IF EXISTS `user_institution`;
  52. CREATE TABLE `user_institution` (
  53. `id` varchar(32) NOT NULL COMMENT '主键ID',
  54. `user_id` varchar(32) NOT NULL COMMENT '用户ID',
  55. `institution_id` varchar(32) NOT NULL COMMENT '机构ID',
  56. `is_default` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否默认机构:1是 0否',
  57. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  58. PRIMARY KEY (`id`),
  59. UNIQUE KEY `uk_user_inst` (`user_id`, `institution_id`),
  60. KEY `idx_user` (`user_id`),
  61. KEY `idx_institution` (`institution_id`)
  62. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户机构关联表';
  63. -- 1.4 菜单表
  64. DROP TABLE IF EXISTS `menu`;
  65. CREATE TABLE `menu` (
  66. `id` varchar(32) NOT NULL COMMENT '主键ID',
  67. `menu_name` varchar(50) NOT NULL COMMENT '菜单名称',
  68. `menu_code` varchar(50) NOT NULL COMMENT '菜单编码',
  69. `parent_id` varchar(32) DEFAULT '0' COMMENT '父菜单ID,0表示顶级菜单',
  70. `menu_type` tinyint(1) NOT NULL DEFAULT '1' COMMENT '类型:1目录 2菜单 3按钮',
  71. `path` varchar(200) DEFAULT NULL COMMENT '路由路径',
  72. `component` varchar(200) DEFAULT NULL COMMENT '组件路径',
  73. `icon` varchar(50) DEFAULT NULL COMMENT '图标',
  74. `sort_order` int NOT NULL DEFAULT '0' COMMENT '排序',
  75. `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态:1启用 0禁用',
  76. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  77. `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  78. PRIMARY KEY (`id`),
  79. UNIQUE KEY `uk_code` (`menu_code`),
  80. KEY `idx_parent` (`parent_id`),
  81. KEY `idx_status` (`status`)
  82. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='菜单表';
  83. -- 1.5 用户菜单权限表
  84. DROP TABLE IF EXISTS `user_menu`;
  85. CREATE TABLE `user_menu` (
  86. `id` varchar(32) NOT NULL COMMENT '主键ID',
  87. `user_id` varchar(32) NOT NULL COMMENT '用户ID',
  88. `menu_id` varchar(32) NOT NULL COMMENT '菜单ID',
  89. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  90. PRIMARY KEY (`id`),
  91. UNIQUE KEY `uk_user_menu` (`user_id`, `menu_id`),
  92. KEY `idx_user` (`user_id`),
  93. KEY `idx_menu` (`menu_id`)
  94. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户菜单权限表';
  95. -- ============================================================
  96. -- 2. 患者与检查模块(3张表)
  97. -- ============================================================
  98. -- 2.1 患者信息表
  99. DROP TABLE IF EXISTS `patient_info`;
  100. CREATE TABLE `patient_info` (
  101. `id` varchar(32) NOT NULL COMMENT '主键ID',
  102. `patient_id` varchar(50) NOT NULL COMMENT '患者ID(来自PACS)',
  103. `patient_name` varchar(100) NOT NULL COMMENT '患者姓名',
  104. `sex` varchar(10) DEFAULT NULL COMMENT '性别:男/女/未知',
  105. `birth_date` date DEFAULT NULL COMMENT '出生日期',
  106. `age` int DEFAULT NULL COMMENT '年龄',
  107. `institution_id` varchar(32) NOT NULL COMMENT '所属机构ID',
  108. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  109. `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  110. PRIMARY KEY (`id`),
  111. KEY `idx_patient_id` (`patient_id`),
  112. KEY `idx_institution` (`institution_id`),
  113. KEY `idx_name` (`patient_name`)
  114. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='患者信息表';
  115. -- 2.2 检查信息表
  116. DROP TABLE IF EXISTS `study_info`;
  117. CREATE TABLE `study_info` (
  118. `id` varchar(32) NOT NULL COMMENT '主键ID',
  119. `study_id` varchar(64) NOT NULL COMMENT '检查ID(用于阅片器调阅)',
  120. `study_instance_uid` varchar(128) DEFAULT NULL COMMENT '检查实例UID',
  121. `patient_id` varchar(50) NOT NULL COMMENT '患者ID',
  122. `study_date` date DEFAULT NULL COMMENT '检查日期',
  123. `study_time` time DEFAULT NULL COMMENT '检查时间',
  124. `modality` varchar(20) DEFAULT NULL COMMENT '检查方式:CT/MR/DR/CR/US等',
  125. `study_description` varchar(255) DEFAULT NULL COMMENT '检查描述',
  126. `accession_number` varchar(50) DEFAULT NULL COMMENT '检查号',
  127. `institution_id` varchar(32) NOT NULL COMMENT '所属机构ID',
  128. `dicom_file_path` varchar(500) DEFAULT NULL COMMENT 'DICOM文件路径',
  129. `series_count` int DEFAULT '0' COMMENT '序列数',
  130. `image_count` int DEFAULT '0' COMMENT '图像数',
  131. `body_part` varchar(50) DEFAULT NULL COMMENT '检查部位',
  132. `position` varchar(50) DEFAULT NULL COMMENT '体位',
  133. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  134. `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  135. PRIMARY KEY (`id`),
  136. UNIQUE KEY `uk_study_id` (`study_id`),
  137. KEY `idx_patient` (`patient_id`),
  138. KEY `idx_institution` (`institution_id`),
  139. KEY `idx_date` (`study_date`),
  140. KEY `idx_modality` (`modality`)
  141. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='检查信息表';
  142. -- 2.3 报告信息表(新增)
  143. DROP TABLE IF EXISTS `report_info`;
  144. CREATE TABLE `report_info` (
  145. `id` varchar(32) NOT NULL COMMENT '主键ID',
  146. `report_id` varchar(64) NOT NULL COMMENT '报告ID',
  147. `study_id` varchar(64) NOT NULL COMMENT '检查ID(关联检查)',
  148. `patient_id` varchar(50) NOT NULL COMMENT '患者ID',
  149. `institution_id` varchar(32) NOT NULL COMMENT '所属机构ID',
  150. `findings` text COMMENT '影像所见',
  151. `diagnosis` text COMMENT '诊断结论',
  152. `report_doctor_id` varchar(32) DEFAULT NULL COMMENT '报告医生ID',
  153. `report_doctor_name` varchar(50) DEFAULT NULL COMMENT '报告医生姓名',
  154. `report_time` datetime DEFAULT NULL COMMENT '报告时间',
  155. `audit_doctor_id` varchar(32) DEFAULT NULL COMMENT '审核医生ID',
  156. `audit_doctor_name` varchar(50) DEFAULT NULL COMMENT '审核医生姓名',
  157. `audit_time` datetime DEFAULT NULL COMMENT '审核时间',
  158. `report_status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '报告状态:0未报告 1已报告 2已审核',
  159. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  160. `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  161. PRIMARY KEY (`id`),
  162. UNIQUE KEY `uk_report_id` (`report_id`),
  163. KEY `idx_study` (`study_id`),
  164. KEY `idx_patient` (`patient_id`),
  165. KEY `idx_institution` (`institution_id`),
  166. KEY `idx_report_time` (`report_time`)
  167. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='报告信息表';
  168. -- ============================================================
  169. -- 3. 质控核心模块(6张表)
  170. -- ============================================================
  171. -- 3.1 质控因子表
  172. DROP TABLE IF EXISTS `qc_factor`;
  173. CREATE TABLE `qc_factor` (
  174. `id` varchar(32) NOT NULL COMMENT '主键ID',
  175. `factor_code` varchar(50) NOT NULL COMMENT '因子编码',
  176. `factor_name` varchar(100) NOT NULL COMMENT '因子名称',
  177. `factor_category` tinyint(1) NOT NULL COMMENT '因子分类:1数据质控 2影像质控 3报告质控',
  178. `factor_type` varchar(20) NOT NULL DEFAULT 'string' COMMENT '数据类型:string/number/date/boolean',
  179. `description` varchar(500) DEFAULT NULL COMMENT '描述',
  180. `check_rule` text COMMENT '检查规则(JSON格式)',
  181. `data_source` varchar(50) DEFAULT NULL COMMENT '数据来源字段',
  182. `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态:1启用 0禁用',
  183. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  184. `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  185. PRIMARY KEY (`id`),
  186. UNIQUE KEY `uk_code` (`factor_code`),
  187. KEY `idx_category` (`factor_category`),
  188. KEY `idx_status` (`status`)
  189. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='质控因子表';
  190. -- 3.2 质控标准表
  191. DROP TABLE IF EXISTS `qc_standard`;
  192. CREATE TABLE `qc_standard` (
  193. `id` varchar(32) NOT NULL COMMENT '主键ID',
  194. `standard_code` varchar(50) NOT NULL COMMENT '标准编码',
  195. `standard_name` varchar(100) NOT NULL COMMENT '标准名称',
  196. `standard_category` tinyint(1) NOT NULL COMMENT '标准分类:1数据质控 2影像质控 3报告质控',
  197. `description` varchar(500) DEFAULT NULL COMMENT '描述',
  198. `pass_score` int NOT NULL DEFAULT '80' COMMENT '合格分数线',
  199. `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态:1启用 0禁用',
  200. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  201. `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  202. PRIMARY KEY (`id`),
  203. UNIQUE KEY `uk_code` (`standard_code`),
  204. KEY `idx_category` (`standard_category`),
  205. KEY `idx_status` (`status`)
  206. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='质控标准表';
  207. -- 3.3 质控标准因子关联表
  208. DROP TABLE IF EXISTS `qc_standard_factor`;
  209. CREATE TABLE `qc_standard_factor` (
  210. `id` varchar(32) NOT NULL COMMENT '主键ID',
  211. `standard_id` varchar(32) NOT NULL COMMENT '标准ID',
  212. `factor_id` varchar(32) NOT NULL COMMENT '因子ID',
  213. `weight` decimal(5,2) NOT NULL DEFAULT '0.00' COMMENT '权重(百分比)',
  214. `is_required` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否必检:1是 0否',
  215. `threshold_value` text COMMENT '阈值(JSON格式,覆盖因子默认规则)',
  216. `sort_order` int NOT NULL DEFAULT '0' COMMENT '排序',
  217. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  218. PRIMARY KEY (`id`),
  219. UNIQUE KEY `uk_standard_factor` (`standard_id`, `factor_id`),
  220. KEY `idx_standard` (`standard_id`),
  221. KEY `idx_factor` (`factor_id`)
  222. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='质控标准因子关联表';
  223. -- 3.4 质控任务表(支持多质控类型)
  224. DROP TABLE IF EXISTS `qc_task`;
  225. CREATE TABLE `qc_task` (
  226. `id` varchar(32) NOT NULL COMMENT '主键ID',
  227. `task_name` varchar(100) NOT NULL COMMENT '任务名称',
  228. `task_code` varchar(50) NOT NULL COMMENT '任务编码',
  229. `standard_id` varchar(32) NOT NULL COMMENT '关联质控标准ID',
  230. `qc_types` varchar(50) NOT NULL COMMENT '质控类型(JSON数组):[1,2,3] 1数据 2影像 3报告',
  231. `institution_id` varchar(32) NOT NULL COMMENT '所属机构ID',
  232. `data_range_type` tinyint(1) NOT NULL COMMENT '数据范围类型:1时间范围 2患者列表',
  233. `start_date` date DEFAULT NULL COMMENT '开始日期',
  234. `end_date` date DEFAULT NULL COMMENT '结束日期',
  235. `patient_ids` text COMMENT '患者ID列表(JSON数组)',
  236. `status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '状态:0待执行 1执行中 2已完成 3失败',
  237. `execute_time` datetime DEFAULT NULL COMMENT '执行时间',
  238. `complete_time` datetime DEFAULT NULL COMMENT '完成时间',
  239. `total_count` int NOT NULL DEFAULT '0' COMMENT '总检查数',
  240. `checked_count` int NOT NULL DEFAULT '0' COMMENT '已检数量',
  241. `pass_count` int NOT NULL DEFAULT '0' COMMENT '合格数',
  242. `fail_count` int NOT NULL DEFAULT '0' COMMENT '不合格数',
  243. `is_preset` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否使用预制结果:1是 0否',
  244. `create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
  245. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  246. `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  247. PRIMARY KEY (`id`),
  248. UNIQUE KEY `uk_code` (`task_code`),
  249. KEY `idx_standard` (`standard_id`),
  250. KEY `idx_institution` (`institution_id`),
  251. KEY `idx_status` (`status`),
  252. KEY `idx_create_time` (`create_time`)
  253. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='质控任务表';
  254. -- 3.5 质控结果表
  255. DROP TABLE IF EXISTS `qc_result`;
  256. CREATE TABLE `qc_result` (
  257. `id` varchar(32) NOT NULL COMMENT '主键ID',
  258. `task_id` varchar(32) NOT NULL COMMENT '任务ID',
  259. `study_id` varchar(64) NOT NULL COMMENT '检查ID',
  260. `patient_id` varchar(50) NOT NULL COMMENT '患者ID',
  261. `institution_id` varchar(32) NOT NULL COMMENT '所属机构ID',
  262. `qc_category` tinyint(1) NOT NULL COMMENT '质控类别:1数据质控 2影像质控 3报告质控',
  263. `total_score` int NOT NULL DEFAULT '100' COMMENT '总分',
  264. `pass_score` int NOT NULL DEFAULT '80' COMMENT '合格分',
  265. `actual_score` decimal(5,2) NOT NULL DEFAULT '0.00' COMMENT '实际得分',
  266. `is_pass` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否合格:1是 0否',
  267. `fail_factors` text COMMENT '不合格因子(JSON数组)',
  268. `check_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '质检时间',
  269. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  270. PRIMARY KEY (`id`),
  271. KEY `idx_task` (`task_id`),
  272. KEY `idx_study` (`study_id`),
  273. KEY `idx_patient` (`patient_id`),
  274. KEY `idx_institution` (`institution_id`),
  275. KEY `idx_pass` (`is_pass`),
  276. KEY `idx_check_time` (`check_time`)
  277. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='质控结果表';
  278. -- 3.6 预制结果配置表(系统级,用于演示)
  279. DROP TABLE IF EXISTS `qc_preset_config`;
  280. CREATE TABLE `qc_preset_config` (
  281. `id` varchar(32) NOT NULL COMMENT '主键ID',
  282. `config_name` varchar(100) NOT NULL DEFAULT '默认预制配置' COMMENT '配置名称',
  283. `total_count` int NOT NULL DEFAULT '100' COMMENT '预设总数',
  284. `pass_count` int NOT NULL DEFAULT '75' COMMENT '预设合格数',
  285. `fail_count` int NOT NULL DEFAULT '25' COMMENT '预设不合格数',
  286. `fail_distribution` text COMMENT '不合格因子分布(JSON)',
  287. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  288. `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  289. PRIMARY KEY (`id`)
  290. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='预制结果配置表';
  291. -- ============================================================
  292. -- 4. 系统日志表
  293. -- ============================================================
  294. -- 4.1 操作日志表
  295. DROP TABLE IF EXISTS `sys_log`;
  296. CREATE TABLE `sys_log` (
  297. `id` varchar(32) NOT NULL COMMENT '主键ID',
  298. `user_id` varchar(32) DEFAULT NULL COMMENT '用户ID',
  299. `username` varchar(50) DEFAULT NULL COMMENT '用户名',
  300. `operation` varchar(200) DEFAULT NULL COMMENT '操作内容',
  301. `method` varchar(200) DEFAULT NULL COMMENT '请求方法',
  302. `params` text COMMENT '请求参数',
  303. `ip` varchar(50) DEFAULT NULL COMMENT 'IP地址',
  304. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  305. PRIMARY KEY (`id`),
  306. KEY `idx_user` (`user_id`),
  307. KEY `idx_create_time` (`create_time`)
  308. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='操作日志表';