init.sql 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. -- =====================================================
  2. -- schedule-embedding-api 数据库初始化脚本
  3. -- 数据库: schedule_embedding
  4. -- =====================================================
  5. -- 创建数据库
  6. CREATE DATABASE IF NOT EXISTS schedule_embedding DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  7. USE schedule_embedding;
  8. -- =====================================================
  9. -- 1. 操作日志表 (HTTP API 调用审计)
  10. -- =====================================================
  11. CREATE TABLE IF NOT EXISTS operation_log (
  12. id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
  13. operation_type VARCHAR(50) NOT NULL COMMENT '操作类型 (INDEX/BATCH_INDEX/DELETE/SEARCH/HYBRID_SEARCH/GET_CHUNK/DELETE_CHUNK)',
  14. doc_id VARCHAR(255) COMMENT '文档ID',
  15. chunk_id VARCHAR(255) COMMENT 'chunk ID',
  16. operator VARCHAR(100) COMMENT '操作人/调用方',
  17. request_params TEXT COMMENT '请求参数 (JSON格式)',
  18. response_result TEXT COMMENT '响应结果 (JSON格式)',
  19. status VARCHAR(20) NOT NULL DEFAULT 'SUCCESS' COMMENT '执行状态 (SUCCESS/FAILED)',
  20. error_message VARCHAR(1000) COMMENT '错误信息',
  21. duration_ms BIGINT COMMENT '执行耗时(毫秒)',
  22. ip_address VARCHAR(50) COMMENT 'IP地址',
  23. create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  24. INDEX idx_operation_type (operation_type),
  25. INDEX idx_doc_id (doc_id),
  26. INDEX idx_status (status),
  27. INDEX idx_create_time (create_time)
  28. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='操作日志表 - 记录HTTP API调用';
  29. -- =====================================================
  30. -- 2. Kafka处理日志表 (Kafka消息处理)
  31. -- =====================================================
  32. CREATE TABLE IF NOT EXISTS kafka_processing_log (
  33. id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
  34. message_id VARCHAR(255) COMMENT 'Kafka消息ID/任务ID',
  35. doc_id VARCHAR(255) COMMENT '文档ID',
  36. task_type VARCHAR(50) COMMENT '任务类型 (INDEX/UPDATE/DELETE)',
  37. processing_stage VARCHAR(50) NOT NULL COMMENT '处理阶段 (RECEIVED/PROCESSING/EMBEDDING/STORING/COMPLETED/FAILED)',
  38. status VARCHAR(20) NOT NULL DEFAULT 'PROCESSING' COMMENT '执行状态 (PROCESSING/SUCCESS/FAILED)',
  39. error_message VARCHAR(1000) COMMENT '错误信息',
  40. duration_ms BIGINT COMMENT '执行耗时(毫秒)',
  41. create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  42. update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  43. INDEX idx_message_id (message_id),
  44. INDEX idx_doc_id (doc_id),
  45. INDEX idx_processing_stage (processing_stage),
  46. INDEX idx_status (status),
  47. INDEX idx_create_time (create_time)
  48. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Kafka处理日志表 - 记录Kafka消息处理过程';
  49. -- =====================================================
  50. -- 表说明
  51. -- =====================================================
  52. -- operation_log: 记录所有HTTP API调用(入库、搜索、删除、查询)
  53. -- kafka_processing_log: 记录Kafka消息处理过程(需要启用Kafka)
  54. -- =====================================================
  55. -- 示例查询
  56. -- =====================================================
  57. -- 查看最近的操作日志
  58. -- SELECT * FROM operation_log ORDER BY create_time DESC LIMIT 10;
  59. -- 按操作类型统计
  60. -- SELECT operation_type, COUNT(*) as count FROM operation_log GROUP BY operation_type;
  61. -- 查看某个文档的操作记录
  62. -- SELECT * FROM operation_log WHERE doc_id = 'contract-001';
  63. -- 查看Kafka处理日志(需要启用Kafka)
  64. -- SELECT * FROM kafka_processing_log ORDER BY create_time DESC LIMIT 10;