版本历史

在启用版本控制的模型上,每次保存都会写入一个带编号、此后永不更改的新版本。你可以列出记录的各个版本,将某个版本与其前一个比较,并恢复较早的版本。

哪些模型保留历史

当模型开启版本控制、发布或变体时,它就会保留历史。这三项默认都是关闭的,并且按模型设置。对三项都未开启的模型,更新会原地替换数据。

控制台显示什么

记录的“历史”标签页列出其各个版本,附有作者姓名和变更说明。在这里你可以将某个版本与前一个版本比较,或恢复该版本。通过 API 和 CLI 填写说明是可选的,编辑者留空时,控制台会填入“Content saved”。

恢复会新增一个版本

恢复会把旧版本的内容作为新版本带回来,并像其他任何保存一样经过校验。历史只会向前推进,你所恢复的那个版本保持不变。如果自该版本写入后模型已经变化,恢复会丢弃模型不再声明的字段,并拒绝形态已不再被接受的值。

先检查恢复

foir records revert 带有 --dry-run 标志。它会报告将被转换、丢弃或拒绝的内容,不写入任何数据,并且在回退会被拒绝时以非零状态退出。GraphQL 中的 revert mutation 有对应的 dryRun 参数。

历史保留多久

历史的保留期限取决于你的套餐,每日清理会回收早于该期限的版本。有些版本无论存在多久都会保留:正在编辑的版本、已发布的版本、排队等待定时发布的版本、某次上线回滚将恢复的版本,以及每条记录的最新版本。

了解详情

记录指南说明版本如何写入、保留多久,以及模型发生变化后恢复会怎样。