版本历史
在启用版本控制的模型上,每次保存都会写入一个带编号、此后永不更改的新版本。你可以列出记录的各个版本,将某个版本与其前一个比较,并恢复较早的版本。
哪些模型保留历史
当模型开启版本控制、发布或变体时,它就会保留历史。这三项默认都是关闭的,并且按模型设置。对三项都未开启的模型,更新会原地替换数据。
控制台显示什么
记录的“历史”标签页列出其各个版本,附有作者姓名和变更说明。在这里你可以将某个版本与前一个版本比较,或恢复该版本。通过 API 和 CLI 填写说明是可选的,编辑者留空时,控制台会填入“Content saved”。
恢复会新增一个版本
恢复会把旧版本的内容作为新版本带回来,并像其他任何保存一样经过校验。历史只会向前推进,你所恢复的那个版本保持不变。如果自该版本写入后模型已经变化,恢复会丢弃模型不再声明的字段,并拒绝形态已不再被接受的值。
先检查恢复
foir records revert 带有 --dry-run 标志。它会报告将被转换、丢弃或拒绝的内容,不写入任何数据,并且在回退会被拒绝时以非零状态退出。GraphQL 中的 revert mutation 有对应的 dryRun 参数。