ステージングとコミット
アイテムの編集、作成、ステージした削除は、DynamoDB に触れる前にステージング エリアを通ります。安全ラッチ付きの git ステージングエリアだと考えてください: 変更が確認可能な差分として蓄積され、コミットしたときに初めて トランザクションバッチとして送信されます。
PartiQL の INSERT、UPDATE、DELETE ステートメントも
同じステージを通ります — 実行ボタンは ステージして Commit か ステージ を
提供します。設計上、確認の間を飛ばすジェスチャーが 2 つあります: ⌘⇧S は
アイテムを保存して 1 ステップでコミットし、⌘⇧⌫ は選択した行を削除して
1 ステップでコミットします。コミットされた書き込みは、1 ステップかどうかを問わず、
すべて書き込み履歴に記録されます。
仕組み
各テーブルは独自のステージングエリアを持ち、そのテーブルのすべてのビューで 共有されます。アイテム編集を保存したり、行を作成したり、 削除したりすると、その変更が属性ごとの差分としてパネルに現れます — 追加・削除・ 変更された属性が並べて表示されます。グリッド内の該当する行は、操作ごとに 色付けされます:
- 緑 — 新しいアイテム(作成)
- オレンジ — 更新(変更されたセルがハイライト)
- 赤 — 削除(取り消し線付き)
同じテーブルを 2 つのタブで開くと、両方が同じ保留中の変更を表示します。タブを 閉じて開き直しても、ステージは残っています。タブを閉じてもステージング済みの 変更が破棄されることは決してありません。
⌘⇧D でパネルを切り替えます。端をドラッグしてサイズを変更します。

変更の確認
各差分カードは、何が変わるかを正確に示します:
- スカラーは旧 → 新を、赤/緑のハイライトでレンダリングします。
- 長い文字列は、単語レベルのインライン差分を表示します。
- Map と List は、整形された JSON としてレンダリングされます(v1 では属性全体)。
カードの属性ごとの 却下 を使って、単一の属性を元の値に戻します。すべての 属性を却下すると、変更全体が破棄されます。
コミット
コミットして、ステージング済みの変更を DynamoDB に書き込みます:
- Commit N は、そのテーブルのステージング済み変更を — そのすべてのタブに またがって — すべて送信します。
- これだけ Commit はカードから単一の変更を送信します。
コミットは、楽観的ロックの条件付きで TransactWriteItems バッチとして
送信されます: 更新は、属性が開始時の値をまだ保持している場合にのみ成功し、
作成は、アイテムがまだ存在しない場合にのみ成功し、削除は、アイテムがまだ
存在する場合にのみ成功します。同じ UpdateExpression と ConditionExpression の形は、
ステージングパネルの外で確認したい場合、このサイトの
式ビルダーでも組み立てられます。大きなステージは、
DynamoDB のトランザクション制限内に収まるよう自動的にチャンク分割されます。
エディタの保存ショートカットはここでも適用されます:
- ⌘S — ステージング(コミットなし)
- ⌘⇧S — 保存してコミット
- ⌘⇧X — ステージング済み変更をすべて破棄(確認あり)
グリッドの選択から、エディタを開かずに削除をステージングできます:
- ⌘⌫ — 選択した行の削除をステージング
- ⌘⇧⌫ — 選択した行を削除してコミット
競合
コミットは楽観的ロックを使うため、あなたがステージングした後に他の誰かが コミットした変更は、静かに上書きされるのではなく検出されます。カードには インラインのバナーが表示されます:
- Drift — リモートのアイテムがあなたの下で変わりました。リモートにリベース でベースラインを更新して再確認するか、変更を 中止 します。
- Remote deleted — アイテムはもう存在しません。変更を中止します。
- Network unavailable — コミットが DynamoDB に到達できませんでした。 再試行 するか中止します。
コミットは最初に失敗したバッチで停止します — それ以前の成功したバッチは 書き込まれたまま残り、残りは試行されず、失敗は解決すべき競合として表示されます。
書き込み履歴と元に戻す
DynoTable は、ステージングを経由するすべての書き込みのローカルな履歴を
保持します: アイテムの編集・作成・削除、PartiQL の INSERT / UPDATE / DELETE
ステートメント、一括削除、そして AI エージェントが
あなたのためにステージした書き込みです。インポートは別の
経路で書き込むため、記録されません。ステージングパネル(保留中の変更)の
履歴タブを開くと確認できます。
エントリはコミット単位でグループ化されます。それぞれが属性ごとの差分 — 各属性が 変更前後にどのような値だったか — と、その書き込みがどのように行われたか — アイテム 編集、PartiQL ステートメント(ステートメント本文付き)、AI エージェント、一括削除 — を表示します。一括削除は、削除の実行直前に読み取った各アイテムを完全な形で 記録するので、削除前とまったく同じ状態に復元できます。
元に戻すは、書き込みの正確な逆操作を通常の保留中の変更としてステージします。 単一のアイテムでもコミット全体でも元に戻せ、その後は他の変更と同じように差分を 確認してコミットします — 元に戻す操作が静かに書き込まれることは決してありません。 元に戻そうとしている書き込みの後にアイテムが DynamoDB 上で変更されていた場合、 新しい値を上書きするのではなく競合として表示されます。

履歴はこのマシンにローカルなものです。自分の書き込みを取り消すための便宜的な 機能であり、共有の監査ログではありません — チームの他の誰にも見えず、保持される のは最近のコミットだけです。古いエントリが非表示になっているときは、パネルが その旨を示します。
元に戻す操作に頼る前に知っておくべき 3 つの制限があります:
- 作成を元に戻すと、そのコミットの後に追加された属性を含め、アイテム全体が 削除されます。
- 一括削除を元に戻すと、削除前に読み取った状態でアイテムが復元されます。 削除と競合した書き込みは失われます。
- 非常に幅の広いアイテム(およそ 150 属性以上)は元に戻せません。
コミットをブロックするもの
編集、ステージング、コミットのいずれにも、Trialing または Active の ライセンスが必要です。読み取り専用の状態は、 コミットだけでなくこの経路全体をブロックします — アプリが有効な状態に戻ると、 再びロック解除されます。





