Preparação e commit
Toda edição no DynoTable passa por uma área de preparação antes de tocar o DynamoDB. Pense nela como uma área de staging do git com uma trava de segurança: edições, criações e exclusões se acumulam como diffs revisáveis e depois vão como somente quando você faz o commit.
Nada é escrito na sua tabela até você mandar.
Como funciona
Cada tabela tem sua própria área de preparação, compartilhada por todas as visões dessa tabela. Quando você salva uma edição de item, cria uma linha ou exclui uma, a alteração cai no painel como um diff por atributo — atributos adicionados, removidos e alterados mostrados lado a lado. As linhas afetadas na grade são tingidas por operação:
- verde — um item novo (criação)
- laranja — uma atualização (células alteradas destacadas)
- vermelho — uma exclusão (riscada)
Abra a mesma tabela em duas abas e elas mostram as mesmas alterações pendentes; feche e reabra uma aba e a preparação continua lá. Fechar uma aba nunca descarta suas alterações preparadas.
Alterne o painel com ⌘⇧D. Arraste a borda para redimensioná-lo.

Revisando alterações
Cada card de diff mostra exatamente o que vai mudar:
- Escalares renderizam antigo → novo com destaque vermelho/verde.
- Strings longas mostram um diff inline no nível de palavra.
- Maps e Lists renderizam como JSON formatado (atributo inteiro na v1).
Use o Rejeitar por atributo de um card para devolver um único atributo ao seu valor original. Rejeite todos os atributos e a alteração inteira é descartada.
Commitando
Faça o commit para escrever suas alterações preparadas no DynamoDB:
- Commitar N envia todas as alterações preparadas dessa tabela — em todas as suas abas.
- Commitar só esta envia uma única alteração a partir do card.
Os commits saem como lotes TransactWriteItems com condições de bloqueio
otimista: uma atualização só tem sucesso se os atributos ainda tiverem os valores
de onde você começou, uma criação só tem sucesso se o item ainda não existir e
uma exclusão só tem sucesso se o item ainda estiver lá. Preparações grandes são
divididas automaticamente para ficar dentro dos limites de transação do DynamoDB.
Os atalhos de salvar do editor valem aqui também:
- ⌘S — preparar (sem commit)
- ⌘⇧S — salvar e commitar
- ⌘⇧X — descartar todas as alterações preparadas (com confirmação)
A partir de uma seleção na grade, você pode preparar exclusões sem abrir o editor:
- ⌘⌫ — preparar uma exclusão das linhas selecionadas
- ⌘⇧⌫ — excluir e commitar as linhas selecionadas
Conflitos
Como os commits usam bloqueio otimista, uma alteração commitada por outra pessoa depois de você preparar a sua é detectada em vez de sobrescrita silenciosamente. O card mostra um banner inline:
- Drift — o item remoto mudou por baixo de você. Rebasear sobre o remoto atualiza a baseline para você revisar de novo, ou Abortar a alteração.
- Remoto excluído — o item não existe mais. Aborte a alteração.
- Rede indisponível — o commit não conseguiu alcançar o DynamoDB. Tentar de novo ou abortar.
Um commit para no primeiro lote que falha — lotes anteriores bem-sucedidos ficam escritos, o resto não é tentado e as falhas surgem como conflitos para resolver.
O que bloqueia commits
Alguns estados são somente leitura e podem preparar mas não commitar — mais notavelmente uma licença expirada ou somente leitura. A preparação ainda funciona; o commit destrava de novo quando o app volta a um estado ativo.


