-- QuantumTest 表结构 DDL (MySQL 8.0+) -- 生成时间: 2026-05-06 -- 执行前请确保已创建数据库: CREATE DATABASE IF NOT EXISTS case_platform DEFAULT CHARACTER SET utf8mb4; SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; -- ─── test_cases ─────────────────────────────────────────────────────────────── DROP TABLE IF EXISTS `test_cases`; CREATE TABLE `test_cases` ( `id` VARCHAR(50) NOT NULL COMMENT '节点唯一ID', `case_id` VARCHAR(50) DEFAULT NULL COMMENT '用例编号,如 TC-001', `text` VARCHAR(200) NOT NULL COMMENT '用例标题', `module` VARCHAR(100) DEFAULT NULL COMMENT '所属模块', `type` VARCHAR(50) NOT NULL DEFAULT 'General' COMMENT '类型: General/Web/API/Mobile', `priority` VARCHAR(20) NOT NULL DEFAULT 'P2' COMMENT '优先级: P0/P1/P2/P3', `review_status` VARCHAR(50) NOT NULL DEFAULT 'Draft' COMMENT '评审状态: Draft/PendingReview/Reviewed/Deprecated', `execution_status` VARCHAR(50) NOT NULL DEFAULT 'UNTESTED' COMMENT '执行状态: UNTESTED/PASS/FAIL/BLOCK', `maintainer` VARCHAR(100) DEFAULT NULL COMMENT '维护人(飞书 OpenID 或姓名)', `requirement_id` VARCHAR(100) DEFAULT NULL COMMENT '关联需求ID', `bug_id` VARCHAR(100) DEFAULT NULL COMMENT '关联缺陷ID', `steps` JSON DEFAULT NULL COMMENT '测试步骤 [{action, expected}]', `tags` JSON DEFAULT NULL COMMENT '标签列表 string[]', `parent_id` VARCHAR(50) DEFAULT NULL COMMENT '父节点ID,NULL 表示根节点', PRIMARY KEY (`id`), UNIQUE KEY `uq_case_id` (`case_id`), KEY `idx_parent_id` (`parent_id`), KEY `idx_module` (`module`), KEY `idx_priority` (`priority`), KEY `idx_review_status` (`review_status`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='测试用例(树状结构,通过 parent_id 关联父子节点)'; -- ─── test_plans ─────────────────────────────────────────────────────────────── DROP TABLE IF EXISTS `test_plans`; CREATE TABLE `test_plans` ( `id` VARCHAR(50) NOT NULL COMMENT '计划唯一ID', `name` VARCHAR(200) NOT NULL COMMENT '计划名称', `type` VARCHAR(50) NOT NULL COMMENT '计划类型: Self-test/Regression/Requirement/Smoke', `case_ids` JSON DEFAULT NULL COMMENT '关联用例ID列表 string[]', `assignee` VARCHAR(100) DEFAULT NULL COMMENT '执行人(飞书 OpenID 或姓名)', `created_at` VARCHAR(50) DEFAULT NULL COMMENT '创建时间 ISO8601', PRIMARY KEY (`id`), KEY `idx_type` (`type`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='测试计划'; -- ─── test_tasks ─────────────────────────────────────────────────────────────── DROP TABLE IF EXISTS `test_tasks`; CREATE TABLE `test_tasks` ( `id` VARCHAR(50) NOT NULL COMMENT '任务唯一ID(UUID)', `name` VARCHAR(200) NOT NULL COMMENT '任务名称', `status` VARCHAR(50) NOT NULL DEFAULT 'PENDING' COMMENT '任务状态: PENDING/RUNNING/COMPLETED', `plan_id` VARCHAR(50) DEFAULT NULL COMMENT '关联测试计划ID', `assignee` VARCHAR(100) DEFAULT NULL COMMENT '执行人', `created_at` VARCHAR(50) DEFAULT NULL COMMENT '创建时间 ISO8601', PRIMARY KEY (`id`), KEY `idx_plan_id` (`plan_id`), KEY `idx_status` (`status`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='测试执行任务'; -- ─── bugs ───────────────────────────────────────────────────────────────────── DROP TABLE IF EXISTS `bugs`; CREATE TABLE `bugs` ( `id` VARCHAR(50) NOT NULL COMMENT '缺陷ID,如 BUG-001', `title` VARCHAR(200) NOT NULL COMMENT '缺陷标题', `status` VARCHAR(50) NOT NULL DEFAULT 'OPEN' COMMENT '缺陷状态: OPEN/RESOLVED/CLOSED', `case_id` VARCHAR(50) DEFAULT NULL COMMENT '关联用例ID', PRIMARY KEY (`id`), KEY `idx_case_id` (`case_id`), KEY `idx_status` (`status`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='缺陷记录'; SET FOREIGN_KEY_CHECKS = 1;