处理游戏数据
最后更新:2026 年 7 月 16 日
Schema 就位之后,下一步就是处理由它生成的那些 Record。
Data 视图是你为 Project 中每个 Entity 创建、编辑和管理真实 Record 的地方。如果说 Schema 定义结构,那 Data 视图就是把这套结构填上真实取值的地方。
Schema 与数据相辅相成
Schema 和数据各司其职,但缺了任何一方,另一方都毫无用处。
Schema 定义什么可以存在 —— 有哪些 Entity 可用、它们包含哪些字段、这些字段能存什么值,以及对象之间如何通过 Relationship 和 Inclusion 字段相互关联。每个对象和字段 kind 的完整定义,见 Schema Object Reference。
数据则是依这套结构真正创建出来的 Record。一条 Record 里有哪些字段可用、它们接受什么值、表单整体长什么样,全都由 Schema 决定。
改动 Schema 会影响已有和未来 Record 的样子与行为 —— Record 表单永远跟随当前的 Schema。
打开 Data 视图
Data 是 Project 侧边栏中一个独立的分区。打开它,左侧会列出所有 Entity —— 每个 Entity 都显示当前有多少条 Record。
在侧边栏中选中某个 Entity,即可打开它的 Record 表格。如果还没有任何 Record,视图会显示一个空状态,带有 Create first record 按钮。

如果在 Data 视图里觉得某条 Record 的结构让人困惑,问题通常出在 Schema 的设计上,而不在 Record 本身。回到 Schema 把结构简化掉。
创建 Record
要新增一条 Record,点击右上角的 + New record,或空状态下的 + Create first record。
Record 表单是直接由 Schema 生成的:
- 可用字段来自 Entity 的定义
- 字段类型遵循 Schema 中的配置
- Enum reference 字段显示为一个只含允许取值的下拉框
- Inclusion 字段显示为分组区块,每个被包含的 Part 一块
- Relationship 字段指向目标 Entity 中已有的 Record
- Required 约束在保存时强制生效
你不需要另外设计 Record 表单。表单是从 Schema 推导出来的 —— 在 Schema 视图里增删或修改字段,这里显示的内容就会随之改变。
编辑 Record
点击 Record 表格中的任意一行,右侧就会打开该 Record 的面板。

面板有四个标签页:
- Values —— 直接编辑这条 Record 的字段取值
- Referenced by —— 显示还有哪些 Record 通过 Relationship 字段指向这一条
- History —— 这条 Record 历次改动的记录
- JSON —— 这条 Record 的原始 JSON 表示
改好取值后点击 Save 应用。要彻底删除这条 Record,点击面板底部的 Delete。
Singleton 的 Record
如果某个 Entity 被标记为 Singleton,Data 视图的行为就不一样了 —— 显示的不是一张有很多 Record 的表格,而是单个可编辑表单。

Singleton 的 Record 按 Inclusion 的来源把字段分组显示 —— 每个被包含的 Part 都是一个带名字的区块,配有 Edit 按钮。由多个 Part 拼起来的大型配置对象,这样浏览起来就方便多了。
要编辑某个区块,点击 Part 名称旁边的 Edit。改动按区块分别保存。
字段 kind 如何影响 Data 视图
一条 Record 长什么样、怎么表现,取决于 Schema 中定义的字段 kind。
| 字段 kind | 在 Data 视图中的呈现 |
|---|---|
| Primitive | 接受直接输入的值 —— 文本、数字、布尔、日期以及其他标量类型。渲染为普通输入框。 |
| Enum reference | 把取值限定为所引用 Enum 中的一个选项。渲染为只含允许取 值的下拉框。 |
| Inclusion | 把某个 Entity Part 的字段直接嵌进 Record 表单,按 Part 名称归为一个可折叠区块。 |
| Relationship | 指向另一个 Entity 的 Record。渲染为一个指向已有 Record 的引用选择器。 |
使用数据时的体验,是 Schema 设计决策的直接结果。Schema 设计得干净,Record 表单就更简单、更清楚。
导入 Record
要一次添加多条 Record,点击 Data 视图右上角的 Import。你可以把文件直接拖进来,也可以浏览选择。

导入对话框支持两种格式 —— 用顶部的标签页切换。
导入的数据必须与 Schema 相符:
- 字段名必须与 Entity 的定义一致
- 取值 必须符合正确的字段类型
- Enum reference 字段必须使用允许的取值
- Required 字段必须存在
- Inclusion 和 Relationship 字段必须符合预期的结构
导入是新增 Record —— 它不会替换 Schema,也不会替换已有的 Record。与 Schema 不符的行会被跳过,有效的行照常导入。把被跳过的行改好,再导一次即可。
- CSV
- JSONL
数据本身是平的、容易用行列表示时,就用 CSV。每一行变成一条 Record。首行必须是与 Schema 中字段名对应的列标题。
最适合字段以 Primitive 为主的简单 Entity —— 一份坦克清单、一份 leaderboard 快照、一组配置值。
数据带有嵌套结构时,就用 JSONL(JSON Lines)。文件中的每一行都是一个独立的 JSON 对象,代表一条 Record。JSONL 天然契合使用了 Inclusion 字段的 Entity —— 嵌套的 Part 在每一行里就是嵌套的对象。
最适合结构复杂、扁平 CSV 表达不了的 Entity —— 比如一个 Configuration entity,包含多个 Part,每个 Part 又各有自己的字段。
Entity 含有 Inclusion 字段或多层嵌套结构时,选 JSONL。Entity 基本都是扁平的 Primitive 字段时,CSV 准备起来更省事。
导出 Record
点击右上角的 Export,即可下载当前的 Record 表格。
导出结果反映的是当前视图 —— 用 Filter 缩小要包含的 Record 范围,用 Columns 控制导出中出现哪些字段。
导出在这些时候很有用:
- 做批量改动之前,先备份某张数据表的当前状态
- 把游戏配置分享给不在 Backoffice 里工作的同事
- 在 Project 或 Environment 之间迁移 Record
- 在表格软件或外部工具里查看原始数据
- 拿导出的 JSONL 当模板,准备一份带新取值的导入文件
下一步
- Publishing and Reviewing Changes —— Record 的改动如何保存、追踪、审核并发布