バージョン履歴
バージョン管理が有効なモデルでは、保存のたびに番号付きの新しいバージョンが書き込まれ、その後は変更されません。レコードのバージョンを一覧し、1つを直前のものと比較し、以前のものを復元できます。
履歴を保持するモデル
モデルは、バージョン管理、公開、バリアントのいずれかを有効にすると履歴を保持します。3つとも既定ではオフで、モデルごとに設定します。どれも有効でないモデルでは、更新はデータをその場で置き換えます。
コンソールに表示されるもの
レコードの履歴タブには、そのバージョンが作成者名と変更内容の説明とともに一覧されます。そこから、バージョンを直前のものと比較したり、復元したりできます。説明はAPIとCLIでは任意で、編集者が空欄にすると、コンソールが「Content saved」と入力します。
復元するとバージョンが増える
復元は、古いバージョンの内容を新しいバージョンとして戻し、他の保存と同様に検証されます。履歴は前にしか進まず、復元元のバージョンは変更されません。そのバージョンが書かれてからモデルが変わっている場合、復元では、モデルがもう宣言していないフィールドは削除され、もう受け付けない形式の値は拒否されます。
復元を事前に確認する
foir records revertには--dry-runフラグがあります。変換される内容、削除される内容、拒否される内容を報告し、何も書き込まず、リバートが拒否される場合はゼロ以外の終了コードで終了します。GraphQLのリバートミューテーションにも、対応するdryRun引数があります。
詳細を読む
レコードガイドでは、バージョンの書き込み方法、保持期間、モデルが変わった場合の復元の動作を説明しています。