-- pbl_evidence 表 DDL(自动生成,与 apps/pbls/scripts/ddl/pbls_tables.sql 同源) CREATE TABLE IF NOT EXISTS `pbl_artifact` ( `tenant_id` VARCHAR(32) NOT NULL NOT NULL COMMENT 租户ID(强制打头), `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 主键, `artifact_uid` VARCHAR(32) NOT NULL COMMENT "产出UID", `session_id` BIGINT UNSIGNED NOT NULL COMMENT "会话", `blueprint_id` BIGINT UNSIGNED NOT NULL COMMENT "蓝图", `team_id` BIGINT UNSIGNED NOT NULL COMMENT "团队", `creator_id` VARCHAR(32) NOT NULL COMMENT "作者", `title` VARCHAR(128) NOT NULL COMMENT "标题", `artifact_type` VARCHAR(64) NOT NULL COMMENT "类型", `content_json` LONGTEXT NULL COMMENT "内容", `version_no` INT NOT NULL DEFAULT 0 COMMENT "版本", `status` VARCHAR(64) NOT NULL COMMENT "状态", `submitted_at` DATETIME NULL NULL COMMENT "提交时间", `created_at` DATETIME NOT NULL DEFAULT '1970-01-01 00:00:00' COMMENT "创建时间(应用层写入)", `updated_at` DATETIME NOT NULL DEFAULT '1970-01-01 00:00:00' COMMENT "更新时间(应用层写入)", PRIMARY KEY (`id`), UNIQUE KEY `uk_art_uid` (`tenant_id`, `artifact_uid`), KEY `idx_art_session` (`tenant_id`, `session_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT="学生产出物(版本内联 version_no)"; CREATE TABLE IF NOT EXISTS `pbl_evidence` ( `tenant_id` VARCHAR(32) NOT NULL NOT NULL COMMENT 租户ID(强制打头), `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 主键, `artifact_id` BIGINT UNSIGNED NOT NULL COMMENT "产出物", `evidence_type` VARCHAR(64) NOT NULL COMMENT "证据类型", `source_event_id` VARCHAR(32) NOT NULL COMMENT "来源 runtime_event", `session_id` BIGINT UNSIGNED NOT NULL COMMENT "会话", `learner_id` VARCHAR(32) NOT NULL COMMENT "学习者", `blueprint_id` BIGINT UNSIGNED NOT NULL COMMENT "蓝图", `payload_json` LONGTEXT NULL COMMENT "证据体", `occurred_at` DATETIME NOT NULL COMMENT "发生时间", `dedup_key` VARCHAR(32) NOT NULL COMMENT "去重键", `created_at` DATETIME NOT NULL DEFAULT '1970-01-01 00:00:00' COMMENT "创建时间(应用层写入)", `updated_at` DATETIME NOT NULL DEFAULT '1970-01-01 00:00:00' COMMENT "更新时间(应用层写入)", PRIMARY KEY (`id`), UNIQUE KEY `uk_ev_dedup` (`tenant_id`, `source_event_id`, `evidence_type`), KEY `idx_ev_learner` (`tenant_id`, `learner_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT="学习证据(幂等采集,唯一索引防重)";