43 lines
2.2 KiB
SQL
43 lines
2.2 KiB
SQL
-- 元景 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='游戏结果';
|