-- 元景 W-08 游戏展示模块 DDL(scense 应用库) -- 表:game_session(游戏会话) + game_result(游戏结果) CREATE TABLE IF NOT EXISTS `game_session` ( `id` VARCHAR(32) NOT NULL COMMENT '会话ID', `game_code` VARCHAR(32) NOT NULL DEFAULT '' COMMENT '分享码', `world_id` VARCHAR(32) NOT NULL DEFAULT '' COMMENT '世界ID', `user_id` VARCHAR(32) NOT NULL DEFAULT '0' COMMENT '用户ID', `org_id` VARCHAR(32) NOT NULL DEFAULT '0' COMMENT '组织ID', `status` VARCHAR(16) NOT NULL DEFAULT 'created' COMMENT '状态: created/playing/paused/ended', `score` INT NOT NULL DEFAULT 0 COMMENT '分数', `level` INT NOT NULL DEFAULT 1 COMMENT '关卡', `elapsed_ms` INT NOT NULL DEFAULT 0 COMMENT '已玩毫秒', `progress_json` TEXT COMMENT '进度快照', `share_token` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '分享令牌', `started_at` DATETIME DEFAULT NULL COMMENT '开始时间', `paused_at` DATETIME DEFAULT NULL COMMENT '暂停时间', `ended_at` DATETIME DEFAULT NULL COMMENT '结束时间', `created_at` DATETIME NOT NULL COMMENT '创建时间', `updated_at` DATETIME NOT NULL COMMENT '更新时间', PRIMARY KEY (`id`), KEY `idx_game_session_user` (`user_id`,`world_id`), KEY `idx_game_session_code` (`game_code`), KEY `idx_game_session_status` (`status`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='游戏会话'; CREATE TABLE IF NOT EXISTS `game_result` ( `id` VARCHAR(32) NOT NULL COMMENT '结果ID', `session_id` VARCHAR(32) NOT NULL DEFAULT '' COMMENT '会话ID', `game_code` VARCHAR(32) NOT NULL DEFAULT '' COMMENT '分享码', `world_id` VARCHAR(32) NOT NULL DEFAULT '' COMMENT '世界ID', `user_id` VARCHAR(32) NOT NULL DEFAULT '0' COMMENT '用户ID', `org_id` VARCHAR(32) NOT NULL DEFAULT '0' COMMENT '组织ID', `score` INT NOT NULL DEFAULT 0 COMMENT '最终分数', `duration_ms` INT NOT NULL DEFAULT 0 COMMENT '游戏时长毫秒', `level` INT NOT NULL DEFAULT 1 COMMENT '到达关卡', `result_json` TEXT COMMENT '结算明细', `created_at` DATETIME NOT NULL COMMENT '创建时间', PRIMARY KEY (`id`), KEY `idx_game_result_session` (`session_id`), KEY `idx_game_result_user` (`user_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='游戏结果';