From d9cd9a4221288f52e2820bca8c48b47a8cce5ef4 Mon Sep 17 00:00:00 2001 From: "agent.develop" Date: Thu, 17 Sep 2026 23:15:55 +0800 Subject: [PATCH] =?UTF-8?q?approve:=20[M1b]=20pbl=5Fblueprint=20=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF/=E5=AD=90=E5=AF=B9=E8=B1=A1=E6=89=A9=E5=B1=95?= =?UTF-8?q?=E4=B8=8E=E5=85=B3=E8=81=94=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/ddl/pbls_tables.sql | 72 ++++++++++++++++++------------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/scripts/ddl/pbls_tables.sql b/scripts/ddl/pbls_tables.sql index e369889..a10b086 100644 --- a/scripts/ddl/pbls_tables.sql +++ b/scripts/ddl/pbls_tables.sql @@ -32,7 +32,7 @@ CREATE TABLE IF NOT EXISTS pbl_tenant ( update_by VARCHAR(32) DEFAULT NULL COMMENT '更新人', update_time DATETIME DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (id), - UNIQUE KEY uk_pbl_tenant_code (tenant_code), + UNIQUE KEY uk_pbl_tenant_code (tenant_id, tenant_code), KEY idx_pbl_tenant_tid_status (tenant_id, status), KEY idx_pbl_tenant_tid_org (tenant_id, org_code) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='PBL 租户主表'; @@ -54,7 +54,7 @@ CREATE TABLE IF NOT EXISTS pbl_role_binding ( update_by VARCHAR(32) DEFAULT NULL, update_time DATETIME DEFAULT NULL, PRIMARY KEY (id), - UNIQUE KEY uk_pbl_role_binding_code (binding_code), + UNIQUE KEY uk_pbl_role_binding_code (tenant_id, binding_code), KEY idx_pbl_role_binding_tid_user (tenant_id, user_code, status), KEY idx_pbl_role_binding_tid_scope (tenant_id, scope_type, scope_code), KEY idx_pbl_role_binding_tid_role (tenant_id, role_code) @@ -76,7 +76,7 @@ CREATE TABLE IF NOT EXISTS pbl_audit_log ( client_ip VARCHAR(64) DEFAULT NULL COMMENT '来源IP', create_time DATETIME DEFAULT NULL COMMENT '发生时间(append-only,无 update_time)', PRIMARY KEY (id), - UNIQUE KEY uk_pbl_audit_code (audit_code), + UNIQUE KEY uk_pbl_audit_code (tenant_id, audit_code), KEY idx_pbl_audit_tid_time (tenant_id, create_time), KEY idx_pbl_audit_tid_obj (tenant_id, object_type, object_code), KEY idx_pbl_audit_tid_actor (tenant_id, actor_type, actor_code), @@ -114,7 +114,7 @@ CREATE TABLE IF NOT EXISTS pbl_blueprint ( update_by VARCHAR(32) DEFAULT NULL, update_time DATETIME DEFAULT NULL, PRIMARY KEY (id), - UNIQUE KEY uk_pbl_blueprint_code (bp_code), + UNIQUE KEY uk_pbl_blueprint_code (tenant_id, bp_code), KEY idx_pbl_bp_tid_status (tenant_id, status), KEY idx_pbl_bp_tid_owner (tenant_id, owner_code), KEY idx_pbl_bp_tid_subject (tenant_id, subject_code, grade_code), @@ -136,7 +136,7 @@ CREATE TABLE IF NOT EXISTS pbl_blueprint_version ( created_by VARCHAR(32) DEFAULT NULL COMMENT '提交人', create_time DATETIME DEFAULT NULL COMMENT '提交时间(append-only,无 update_time)', PRIMARY KEY (id), - UNIQUE KEY uk_pbl_bp_version_code (version_code), + UNIQUE KEY uk_pbl_bp_version_code (tenant_id, version_code), UNIQUE KEY uk_pbl_bp_version_no (tenant_id, bp_code, version_no), KEY idx_pbl_bp_version_tid_bp (tenant_id, bp_code, create_time), KEY idx_pbl_bp_version_tid_ck (tenant_id, checksum) @@ -158,7 +158,7 @@ CREATE TABLE IF NOT EXISTS pbl_blueprint_lock ( create_time DATETIME DEFAULT NULL, update_time DATETIME DEFAULT NULL, PRIMARY KEY (id), - UNIQUE KEY uk_pbl_bp_lock_code (lock_code), + UNIQUE KEY uk_pbl_bp_lock_code (tenant_id, lock_code), UNIQUE KEY uk_pbl_bp_lock_active (tenant_id, bp_code, lock_state), KEY idx_pbl_bp_lock_tid_holder (tenant_id, holder_code), KEY idx_pbl_bp_lock_tid_expire (tenant_id, expire_at) @@ -184,7 +184,7 @@ CREATE TABLE IF NOT EXISTS pbl_subobject ( update_by VARCHAR(32) DEFAULT NULL, update_time DATETIME DEFAULT NULL, PRIMARY KEY (id), - UNIQUE KEY uk_pbl_subobject_code (obj_code), + UNIQUE KEY uk_pbl_subobject_code (tenant_id, obj_code), KEY idx_pbl_subobj_tid_bp_type (tenant_id, bp_code, obj_type, sort_no), KEY idx_pbl_subobj_tid_parent (tenant_id, parent_code), KEY idx_pbl_subobj_tid_status (tenant_id, status) @@ -204,7 +204,7 @@ CREATE TABLE IF NOT EXISTS pbl_subobject_attr ( create_time DATETIME DEFAULT NULL, update_time DATETIME DEFAULT NULL, PRIMARY KEY (id), - UNIQUE KEY uk_pbl_subobj_attr_code (attr_code), + UNIQUE KEY uk_pbl_subobj_attr_code (tenant_id, attr_code), UNIQUE KEY uk_pbl_subobj_attr_key (tenant_id, obj_code, attr_key), KEY idx_pbl_subobj_attr_tid_obj (tenant_id, obj_code, sort_no) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='PBL 子对象泛化属性 KV'; @@ -224,7 +224,7 @@ CREATE TABLE IF NOT EXISTS pbl_subobject_rel ( create_time DATETIME DEFAULT NULL, update_time DATETIME DEFAULT NULL, PRIMARY KEY (id), - UNIQUE KEY uk_pbl_subobj_rel_code (rel_code), + UNIQUE KEY uk_pbl_subobj_rel_code (tenant_id, rel_code), UNIQUE KEY uk_pbl_subobj_rel_triple (tenant_id, src_obj_code, dst_obj_code, rel_type), KEY idx_pbl_subobj_rel_tid_bp (tenant_id, bp_code, rel_type), KEY idx_pbl_subobj_rel_tid_dst (tenant_id, dst_obj_code) @@ -248,7 +248,7 @@ CREATE TABLE IF NOT EXISTS pbl_subobject_asset ( create_time DATETIME DEFAULT NULL, update_time DATETIME DEFAULT NULL, PRIMARY KEY (id), - UNIQUE KEY uk_pbl_subobj_asset_code (asset_code), + UNIQUE KEY uk_pbl_subobj_asset_code (tenant_id, asset_code), KEY idx_pbl_subobj_asset_tid_obj (tenant_id, obj_code, sort_no), KEY idx_pbl_subobj_asset_tid_kind (tenant_id, asset_kind) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='PBL 子对象资产引用'; @@ -269,7 +269,7 @@ CREATE TABLE IF NOT EXISTS pbl_subobject_ref ( create_time DATETIME DEFAULT NULL, update_time DATETIME DEFAULT NULL, PRIMARY KEY (id), - UNIQUE KEY uk_pbl_subobj_ref_code (ref_code), + UNIQUE KEY uk_pbl_subobj_ref_code (tenant_id, ref_code), KEY idx_pbl_subobj_ref_tid_obj (tenant_id, obj_code), KEY idx_pbl_subobj_ref_tid_mod (tenant_id, ref_module, ref_table, ref_biz_code) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='PBL 子对象对复用域只读引用'; @@ -288,7 +288,7 @@ CREATE TABLE IF NOT EXISTS pbl_subobject_review ( comment TEXT DEFAULT NULL COMMENT '意见正文', create_time DATETIME DEFAULT NULL COMMENT '评审时间(append-only,无 update_time)', PRIMARY KEY (id), - UNIQUE KEY uk_pbl_subobj_review_code (review_code), + UNIQUE KEY uk_pbl_subobj_review_code (tenant_id, review_code), KEY idx_pbl_subobj_review_tid_bp (tenant_id, bp_code, create_time), KEY idx_pbl_subobj_review_tid_obj (tenant_id, obj_code) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='PBL 子对象评审意见(append-only)'; @@ -304,7 +304,7 @@ CREATE TABLE IF NOT EXISTS pbl_blueprint_tag ( create_time DATETIME DEFAULT NULL, update_time DATETIME DEFAULT NULL, PRIMARY KEY (id), - UNIQUE KEY uk_pbl_bp_tag_code (tag_code), + UNIQUE KEY uk_pbl_bp_tag_code (tenant_id, tag_code), UNIQUE KEY uk_pbl_bp_tag_kv (tenant_id, bp_code, tag_key), KEY idx_pbl_bp_tag_tid_key (tenant_id, tag_key, tag_value) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='PBL 蓝图标签'; @@ -323,7 +323,7 @@ CREATE TABLE IF NOT EXISTS pbl_blueprint_publish ( published_by VARCHAR(32) DEFAULT NULL COMMENT '发布人', create_time DATETIME DEFAULT NULL COMMENT '发布时间(append-only,无 update_time)', PRIMARY KEY (id), - UNIQUE KEY uk_pbl_bp_publish_code (publish_code), + UNIQUE KEY uk_pbl_bp_publish_code (tenant_id, publish_code), KEY idx_pbl_bp_publish_tid_bp (tenant_id, bp_code, create_time), KEY idx_pbl_bp_publish_tid_target (tenant_id, channel, target_code) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='PBL 蓝图发布记录(append-only)'; @@ -351,7 +351,7 @@ CREATE TABLE IF NOT EXISTS pbl_template ( update_by VARCHAR(32) DEFAULT NULL, update_time DATETIME DEFAULT NULL, PRIMARY KEY (id), - UNIQUE KEY uk_pbl_template_code (tpl_code), + UNIQUE KEY uk_pbl_template_code (tenant_id, tpl_code), KEY idx_pbl_template_tid_kind (tenant_id, tpl_kind, status), KEY idx_pbl_template_tid_subj (tenant_id, subject_code, grade_code), KEY idx_pbl_template_tid_offline (tenant_id, offline_flag) @@ -371,7 +371,7 @@ CREATE TABLE IF NOT EXISTS pbl_template_item ( create_time DATETIME DEFAULT NULL, update_time DATETIME DEFAULT NULL, PRIMARY KEY (id), - UNIQUE KEY uk_pbl_template_item_code (item_code), + UNIQUE KEY uk_pbl_template_item_code (tenant_id, item_code), UNIQUE KEY uk_pbl_template_item_key (tenant_id, tpl_code, tpl_obj_key), KEY idx_pbl_template_item_tid_tpl (tenant_id, tpl_code, sort_no) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='PBL 模板条目'; @@ -399,7 +399,7 @@ CREATE TABLE IF NOT EXISTS pbl_validation_ruleset ( update_by VARCHAR(32) DEFAULT NULL, update_time DATETIME DEFAULT NULL, PRIMARY KEY (id), - UNIQUE KEY uk_pbl_valid_ruleset_code (ruleset_code), + UNIQUE KEY uk_pbl_valid_ruleset_code (tenant_id, ruleset_code), KEY idx_pbl_valid_ruleset_tid_dim (tenant_id, dim_code, enabled), KEY idx_pbl_valid_ruleset_tid_sort (tenant_id, sort_no) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='PBL 14 维校验规则集'; @@ -427,7 +427,7 @@ CREATE TABLE IF NOT EXISTS pbl_validation_run ( create_time DATETIME DEFAULT NULL, update_time DATETIME DEFAULT NULL, PRIMARY KEY (id), - UNIQUE KEY uk_pbl_valid_run_code (run_code), + UNIQUE KEY uk_pbl_valid_run_code (tenant_id, run_code), KEY idx_pbl_valid_run_tid_bp (tenant_id, bp_code, create_time), KEY idx_pbl_valid_run_tid_state (tenant_id, run_state), KEY idx_pbl_valid_run_tid_level (tenant_id, quality_level) @@ -448,7 +448,7 @@ CREATE TABLE IF NOT EXISTS pbl_validation_finding ( evidence_json TEXT DEFAULT NULL COMMENT '证据 JSON', create_time DATETIME DEFAULT NULL COMMENT '产生时间(append-only,无 update_time)', PRIMARY KEY (id), - UNIQUE KEY uk_pbl_valid_finding_code (finding_code), + UNIQUE KEY uk_pbl_valid_finding_code (tenant_id, finding_code), KEY idx_pbl_valid_finding_tid_run (tenant_id, run_code, dim_code), KEY idx_pbl_valid_finding_tid_bp (tenant_id, bp_code, create_time), KEY idx_pbl_valid_finding_tid_obj (tenant_id, obj_code) @@ -478,7 +478,7 @@ CREATE TABLE IF NOT EXISTS pbl_compile_job ( create_time DATETIME DEFAULT NULL, update_time DATETIME DEFAULT NULL, PRIMARY KEY (id), - UNIQUE KEY uk_pbl_compile_job_code (job_code), + UNIQUE KEY uk_pbl_compile_job_code (tenant_id, job_code), KEY idx_pbl_compile_job_tid_bp (tenant_id, bp_code, create_time), KEY idx_pbl_compile_job_tid_state (tenant_id, job_state), KEY idx_pbl_compile_job_tid_ick (tenant_id, input_checksum) @@ -498,7 +498,7 @@ CREATE TABLE IF NOT EXISTS pbl_compile_artifact ( create_time DATETIME DEFAULT NULL, update_time DATETIME DEFAULT NULL, PRIMARY KEY (id), - UNIQUE KEY uk_pbl_compile_artifact_code (artifact_code), + UNIQUE KEY uk_pbl_compile_artifact_code (tenant_id, artifact_code), KEY idx_pbl_compile_artifact_tid_job (tenant_id, job_code, sort_no), KEY idx_pbl_compile_artifact_tid_kind (tenant_id, artifact_kind) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='PBL 编译中间产物'; @@ -523,7 +523,7 @@ CREATE TABLE IF NOT EXISTS pbl_game_definition ( update_by VARCHAR(32) DEFAULT NULL, update_time DATETIME DEFAULT NULL, PRIMARY KEY (id), - UNIQUE KEY uk_pbl_gd_code (gd_code), + UNIQUE KEY uk_pbl_gd_code (tenant_id, gd_code), UNIQUE KEY uk_pbl_gd_bp_ver (tenant_id, bp_code, version_no, gd_version), KEY idx_pbl_gd_tid_state (tenant_id, gd_state), KEY idx_pbl_gd_tid_ck (tenant_id, checksum), @@ -543,7 +543,7 @@ CREATE TABLE IF NOT EXISTS pbl_compile_log ( seq_no BIGINT NOT NULL DEFAULT 0 COMMENT '作业内单调序号', create_time DATETIME DEFAULT NULL COMMENT '记录时间(append-only,无 update_time)', PRIMARY KEY (id), - UNIQUE KEY uk_pbl_compile_log_code (log_code), + UNIQUE KEY uk_pbl_compile_log_code (tenant_id, log_code), KEY idx_pbl_compile_log_tid_job (tenant_id, job_code, seq_no), KEY idx_pbl_compile_log_tid_level (tenant_id, log_level, create_time) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='PBL 编译日志(append-only)'; @@ -571,7 +571,7 @@ CREATE TABLE IF NOT EXISTS pbl_agent_session ( create_time DATETIME DEFAULT NULL, update_time DATETIME DEFAULT NULL, PRIMARY KEY (id), - UNIQUE KEY uk_pbl_agent_session_code (session_code), + UNIQUE KEY uk_pbl_agent_session_code (tenant_id, session_code), KEY idx_pbl_agent_session_tid_bp (tenant_id, bp_code, session_state), KEY idx_pbl_agent_session_tid_role (tenant_id, agent_role), KEY idx_pbl_agent_session_tid_owner (tenant_id, owner_code) @@ -591,7 +591,7 @@ CREATE TABLE IF NOT EXISTS pbl_agent_message ( latency_ms INT NOT NULL DEFAULT 0 COMMENT '耗时毫秒', create_time DATETIME DEFAULT NULL COMMENT '产生时间(append-only,无 update_time)', PRIMARY KEY (id), - UNIQUE KEY uk_pbl_agent_msg_code (msg_code), + UNIQUE KEY uk_pbl_agent_msg_code (tenant_id, msg_code), KEY idx_pbl_agent_msg_tid_sess (tenant_id, session_code, turn_no), KEY idx_pbl_agent_msg_tid_time (tenant_id, create_time) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='PBL Agent 消息(append-only)'; @@ -610,7 +610,7 @@ CREATE TABLE IF NOT EXISTS pbl_agent_tool_call ( latency_ms INT NOT NULL DEFAULT 0 COMMENT '耗时毫秒', create_time DATETIME DEFAULT NULL COMMENT '调用时间(append-only,无 update_time)', PRIMARY KEY (id), - UNIQUE KEY uk_pbl_agent_call_code (call_code), + UNIQUE KEY uk_pbl_agent_call_code (tenant_id, call_code), KEY idx_pbl_agent_call_tid_sess (tenant_id, session_code, turn_no), KEY idx_pbl_agent_call_tid_tool (tenant_id, tool_name, tool_state), KEY idx_pbl_agent_call_tid_time (tenant_id, create_time) @@ -631,7 +631,7 @@ CREATE TABLE IF NOT EXISTS pbl_agent_arbitration ( arbiter VARCHAR(32) NOT NULL DEFAULT 'system' COMMENT '裁决者', create_time DATETIME DEFAULT NULL COMMENT '裁决时间(append-only,无 update_time)', PRIMARY KEY (id), - UNIQUE KEY uk_pbl_agent_arb_code (arb_code), + UNIQUE KEY uk_pbl_agent_arb_code (tenant_id, arb_code), KEY idx_pbl_agent_arb_tid_tool (tenant_id, tool_name, decision), KEY idx_pbl_agent_arb_tid_sess (tenant_id, session_code, create_time), KEY idx_pbl_agent_arb_tid_reason (tenant_id, deny_reason) @@ -662,7 +662,7 @@ CREATE TABLE IF NOT EXISTS pbl_artifact ( create_time DATETIME DEFAULT NULL, update_time DATETIME DEFAULT NULL, PRIMARY KEY (id), - UNIQUE KEY uk_pbl_artifact_code (artifact_code), + UNIQUE KEY uk_pbl_artifact_code (tenant_id, artifact_code), KEY idx_pbl_artifact_tid_bp (tenant_id, bp_code, artifact_kind), KEY idx_pbl_artifact_tid_team (tenant_id, team_code), KEY idx_pbl_artifact_tid_sess (tenant_id, session_code), @@ -690,7 +690,7 @@ CREATE TABLE IF NOT EXISTS pbl_evidence ( create_time DATETIME DEFAULT NULL, update_time DATETIME DEFAULT NULL, PRIMARY KEY (id), - UNIQUE KEY uk_pbl_evidence_code (evidence_code), + UNIQUE KEY uk_pbl_evidence_code (tenant_id, evidence_code), UNIQUE KEY uk_pbl_evidence_idem (tenant_id, idem_key), KEY idx_pbl_evidence_tid_bp (tenant_id, bp_code, evidence_type), KEY idx_pbl_evidence_tid_team (tenant_id, team_code, student_code), @@ -711,7 +711,7 @@ CREATE TABLE IF NOT EXISTS pbl_evidence_idem ( source_channel VARCHAR(32) DEFAULT NULL COMMENT '来源渠道:runtime/manual/agent/import', create_time DATETIME DEFAULT NULL COMMENT '首次提交时间(append-only,无 update_time)', PRIMARY KEY (id), - UNIQUE KEY uk_pbl_evidence_idem_code (idem_code), + UNIQUE KEY uk_pbl_evidence_idem_code (tenant_id, idem_code), UNIQUE KEY uk_pbl_evidence_idem_key (tenant_id, idem_key), KEY idx_pbl_evidence_idem_tid_time (tenant_id, create_time), KEY idx_pbl_evidence_idem_tid_conf (tenant_id, conflict_flag) @@ -731,7 +731,7 @@ CREATE TABLE IF NOT EXISTS pbl_evidence_binding ( create_time DATETIME DEFAULT NULL, update_time DATETIME DEFAULT NULL, PRIMARY KEY (id), - UNIQUE KEY uk_pbl_evidence_binding_code (bind_code), + UNIQUE KEY uk_pbl_evidence_binding_code (tenant_id, bind_code), KEY idx_pbl_evidence_binding_tid_ev (tenant_id, evidence_code), KEY idx_pbl_evidence_binding_tid_ref (tenant_id, ref_module, ref_table, ref_biz_code) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='PBL 证据与复用域绑定(零改表)'; @@ -759,7 +759,7 @@ CREATE TABLE IF NOT EXISTS pbl_rubric ( update_by VARCHAR(32) DEFAULT NULL, update_time DATETIME DEFAULT NULL, PRIMARY KEY (id), - UNIQUE KEY uk_pbl_rubric_code (rubric_code), + UNIQUE KEY uk_pbl_rubric_code (tenant_id, rubric_code), KEY idx_pbl_rubric_tid_bp (tenant_id, bp_code, status), KEY idx_pbl_rubric_tid_default (tenant_id, is_default) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='PBL 量规主表'; @@ -781,7 +781,7 @@ CREATE TABLE IF NOT EXISTS pbl_rubric_criterion ( create_time DATETIME DEFAULT NULL, update_time DATETIME DEFAULT NULL, PRIMARY KEY (id), - UNIQUE KEY uk_pbl_rubric_crit_code (crit_code), + UNIQUE KEY uk_pbl_rubric_crit_code (tenant_id, crit_code), KEY idx_pbl_rubric_crit_tid_rub (tenant_id, rubric_code, sort_no), KEY idx_pbl_rubric_crit_tid_obj (tenant_id, obj_code) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='PBL 量规评价维度'; @@ -810,7 +810,7 @@ CREATE TABLE IF NOT EXISTS pbl_assessment_report ( update_by VARCHAR(32) DEFAULT NULL, update_time DATETIME DEFAULT NULL, PRIMARY KEY (id), - UNIQUE KEY uk_pbl_assess_report_code (report_code), + UNIQUE KEY uk_pbl_assess_report_code (tenant_id, report_code), KEY idx_pbl_assess_report_tid_bp (tenant_id, bp_code, scope_type), KEY idx_pbl_assess_report_tid_team (tenant_id, team_code, student_code), KEY idx_pbl_assess_report_tid_state (tenant_id, report_state), @@ -843,7 +843,7 @@ CREATE TABLE IF NOT EXISTS pbl_domain_binding ( update_by VARCHAR(32) DEFAULT NULL, update_time DATETIME DEFAULT NULL, PRIMARY KEY (id), - UNIQUE KEY uk_pbl_domain_binding_code (bind_code), + UNIQUE KEY uk_pbl_domain_binding_code (tenant_id, bind_code), UNIQUE KEY uk_pbl_domain_binding_ref (tenant_id, bind_kind, ref_module, ref_table, ref_biz_code), KEY idx_pbl_domain_binding_tid_class (tenant_id, class_code, team_code), KEY idx_pbl_domain_binding_tid_bp (tenant_id, bp_code), @@ -870,7 +870,7 @@ CREATE TABLE IF NOT EXISTS pbl_analytics_snapshot ( computed_at DATETIME DEFAULT NULL COMMENT '计算时间', create_time DATETIME DEFAULT NULL COMMENT '入库时间(append-only,无 update_time)', PRIMARY KEY (id), - UNIQUE KEY uk_pbl_analytics_snap_code (snap_code), + UNIQUE KEY uk_pbl_analytics_snap_code (tenant_id, snap_code), UNIQUE KEY uk_pbl_analytics_snap_dim (tenant_id, metric_group, scope_type, scope_code, period_key), KEY idx_pbl_analytics_snap_tid_group (tenant_id, metric_group, period_key), KEY idx_pbl_analytics_snap_tid_scope (tenant_id, scope_type, scope_code)