lobster_e2e_test_tables.sql 4.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. -- ============================================================================
  2. -- 龙虾 E2E 测试三张表(多租户)
  3. -- 1) lobster_e2e_run ─ E2E 运行头表
  4. -- 2) lobster_e2e_run_node ─ E2E 节点明细
  5. -- 3) lobster_test_scenario ─ 测试场景剧本(数据驱动回归)
  6. -- ============================================================================
  7. DROP TABLE IF EXISTS `lobster_e2e_run`;
  8. CREATE TABLE `lobster_e2e_run` (
  9. `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
  10. `run_id` VARCHAR(64) NOT NULL COMMENT '运行ID(UUID)',
  11. `company_id` BIGINT NULL COMMENT '公司ID',
  12. `template_id` BIGINT NULL COMMENT '工作流模板ID',
  13. `instance_id` BIGINT NULL COMMENT '工作流实例ID',
  14. `scenario_id` BIGINT NULL COMMENT '测试场景ID',
  15. `business_desc` VARCHAR(500) NULL COMMENT '业务描述(若是即时生成)',
  16. `total_score` DECIMAL(5,2) NULL COMMENT '综合评分(0-100)',
  17. `passed_node_cnt` INT DEFAULT 0 COMMENT '通过节点数',
  18. `total_node_cnt` INT DEFAULT 0 COMMENT '总节点数',
  19. `duration_ms` BIGINT DEFAULT 0 COMMENT '总耗时ms',
  20. `status` VARCHAR(20) DEFAULT 'RUNNING' COMMENT 'RUNNING|SUCCESS|FAILED',
  21. `error_msg` TEXT NULL COMMENT '错误信息',
  22. `evolution_count` INT DEFAULT 0 COMMENT '生成的进化建议数',
  23. `create_by` VARCHAR(64) NULL,
  24. `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP,
  25. `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  26. PRIMARY KEY (`id`),
  27. UNIQUE KEY `uk_run_id` (`run_id`),
  28. KEY `idx_template` (`template_id`),
  29. KEY `idx_status_time` (`status`, `create_time`)
  30. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='龙虾E2E测试运行头表';
  31. DROP TABLE IF EXISTS `lobster_e2e_run_node`;
  32. CREATE TABLE `lobster_e2e_run_node` (
  33. `id` BIGINT NOT NULL AUTO_INCREMENT,
  34. `run_id` VARCHAR(64) NOT NULL COMMENT '关联 lobster_e2e_run.run_id',
  35. `node_seq` INT NOT NULL COMMENT '节点序号',
  36. `node_code` VARCHAR(64) NOT NULL COMMENT '节点编码',
  37. `node_type` VARCHAR(32) NULL COMMENT '节点类型',
  38. `node_name` VARCHAR(128) NULL,
  39. `turn_no` INT DEFAULT 1 COMMENT '单节点轮次(多轮对话)',
  40. `user_input` TEXT NULL COMMENT '用户输入',
  41. `ai_output` TEXT NULL COMMENT 'AI输出',
  42. `score` DECIMAL(5,2) NULL COMMENT '本节点本轮评分',
  43. `score_detail` TEXT NULL COMMENT '维度评分JSON',
  44. `duration_ms` BIGINT DEFAULT 0,
  45. `model_used` VARCHAR(64) NULL COMMENT '使用的模型',
  46. `evolution_hint` TEXT NULL COMMENT '进化建议草稿',
  47. `passed` TINYINT(1) DEFAULT 1 COMMENT '0=未达标 1=达标',
  48. `error_msg` TEXT NULL,
  49. `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP,
  50. PRIMARY KEY (`id`),
  51. KEY `idx_run_seq` (`run_id`, `node_seq`)
  52. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='龙虾E2E测试节点明细';
  53. DROP TABLE IF EXISTS `lobster_test_scenario`;
  54. CREATE TABLE `lobster_test_scenario` (
  55. `id` BIGINT NOT NULL AUTO_INCREMENT,
  56. `company_id` BIGINT NULL,
  57. `scenario_name` VARCHAR(128) NOT NULL COMMENT '场景名',
  58. `business_desc` VARCHAR(500) NULL COMMENT '业务描述(留空则用 template_id)',
  59. `template_id` BIGINT NULL COMMENT '关联工作流模板',
  60. `user_inputs_json` TEXT NOT NULL COMMENT '用户输入数组JSON',
  61. `expected_nodes` TEXT NULL COMMENT '期望命中的节点编码JSON',
  62. `min_score` DECIMAL(5,2) DEFAULT 60.00 COMMENT '最低通过分',
  63. `enabled` TINYINT(1) DEFAULT 1 COMMENT '是否启用回归',
  64. `cron` VARCHAR(64) NULL COMMENT '自定义cron(空则跟随全局)',
  65. `last_run_id` VARCHAR(64) NULL,
  66. `last_run_status` VARCHAR(20) NULL,
  67. `last_run_time` DATETIME NULL,
  68. `create_by` VARCHAR(64) NULL,
  69. `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP,
  70. `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  71. PRIMARY KEY (`id`),
  72. KEY `idx_enabled` (`enabled`),
  73. KEY `idx_company` (`company_id`)
  74. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='龙虾测试场景剧本';