-- ============================================================ -- sd_test_cases 测试用例表 DDL(list_cases 数据来源) -- Bug [e2Lck6zIRCXB5g7_HPZn0] 修复:环境根因自愈建表 -- 与 scripts/init_test_db.py 中 _DDL_STATEMENTS 保持一致(幂等 IF NOT EXISTS) -- ============================================================ CREATE TABLE IF NOT EXISTS `sd_test_cases` ( `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键', `case_id` VARCHAR(64) NOT NULL COMMENT '用例编码(业务唯一,如 TC-0001)', `case_name` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '用例名称(list_cases 读取字段,兼容 case_name 命名)', `title` VARCHAR(255) NOT NULL COMMENT '用例标题', `description` TEXT NULL COMMENT '用例描述', `module` VARCHAR(128) NOT NULL DEFAULT '' COMMENT '所属模块', `plan_id` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '所属测试计划ID', `priority` VARCHAR(16) NOT NULL DEFAULT 'P2' COMMENT '优先级:P0/P1/P2/P3', `preconditions` TEXT NULL COMMENT '前置条件', `steps` TEXT NULL COMMENT '测试步骤', `expected_result` TEXT NULL COMMENT '预期结果', `actual_result` TEXT NULL COMMENT '实际结果', `status` VARCHAR(16) NOT NULL DEFAULT 'draft' COMMENT '用例状态:draft/active/closed', `execute_status` VARCHAR(16) NOT NULL DEFAULT 'not_run' COMMENT '执行状态:not_run/pass/fail/blocked', `created_by` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '创建人', `updated_by` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '更新人', `created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updated_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (`id`), UNIQUE KEY `uk_case_id` (`case_id`), KEY `idx_plan_id` (`plan_id`), KEY `idx_module` (`module`), KEY `idx_status` (`status`), KEY `idx_execute_status` (`execute_status`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='测试用例表(list_cases 数据来源)';