-- pbl_scense_ext 表 DDL(自动生成,与 apps/pbls/scripts/ddl/pbls_tables.sql 同源) CREATE TABLE IF NOT EXISTS `pbl_session_member` ( `tenant_id` VARCHAR(32) NOT NULL NOT NULL COMMENT 租户ID(强制打头), `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 主键, `session_id` BIGINT UNSIGNED NOT NULL COMMENT "会话", `user_id` VARCHAR(32) NOT NULL COMMENT "用户", `role_code` VARCHAR(64) NOT NULL COMMENT "角色", `team_id` BIGINT UNSIGNED NOT NULL COMMENT "团队", `joined_at` DATETIME NULL NULL COMMENT "加入时间", `last_seen_at` DATETIME NULL NULL COMMENT "心跳", `state_version` BIGINT NOT NULL DEFAULT 0 COMMENT "已见状态版本", `status` VARCHAR(64) 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_sm` (`tenant_id`, `session_id`, `user_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT="会话成员(复用 world_session,不污染基表)"; CREATE TABLE IF NOT EXISTS `pbl_playtest_feedback` ( `tenant_id` VARCHAR(32) NOT NULL NOT NULL COMMENT 租户ID(强制打头), `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 主键, `session_id` BIGINT UNSIGNED NOT NULL COMMENT "会话", `user_id` VARCHAR(32) NOT NULL COMMENT "用户", `blueprint_id` BIGINT UNSIGNED NOT NULL COMMENT "蓝图", `feedback_type` VARCHAR(64) NOT NULL COMMENT "类型", `rating` INT NOT NULL DEFAULT 0 COMMENT "评分", `content_txt` TEXT NULL COMMENT "内容", `context_json` LONGTEXT NULL COMMENT "上下文", `handled` TINYINT(1) NOT NULL DEFAULT 0 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`), KEY `idx_pf_session` (`tenant_id`, `session_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT="Playtest 反馈/反思(reflection 走证据链外的轻量表)"; CREATE TABLE IF NOT EXISTS `pbl_ui_page_registry` ( `tenant_id` VARCHAR(32) NOT NULL NOT NULL COMMENT 租户ID(强制打头), `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 主键, `page_key` VARCHAR(64) NOT NULL COMMENT "页面键", `title` VARCHAR(128) NOT NULL COMMENT "标题", `route` VARCHAR(64) NOT NULL COMMENT "路由", `widget_type` VARCHAR(64) NOT NULL COMMENT "渲染组件", `requires_role` VARCHAR(64) NOT NULL COMMENT "所需角色", `budget_ms` INT NOT NULL DEFAULT 0 COMMENT "渲染预算", `enabled` TINYINT(1) NOT NULL DEFAULT 0 COMMENT "启用", `meta_json` LONGTEXT 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_upr_key` (`tenant_id`, `page_key`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT="前端覆盖层页面注册(12 页面 + 时延预算)";