scense/sql/game_ddl.sql
2026-08-29 17:38:48 +08:00

43 lines
2.2 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- 元景 W-08 游戏展示模块 DDLscense 应用库)
-- 表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='游戏结果';