Preparación y confirmación

Cada edición en DynoTable pasa por un área de preparación antes de tocar DynamoDB. Piénsalo como un área de staging de git con un pestillo de seguridad: las ediciones, creaciones y eliminaciones se acumulan como diffs revisables, y luego se envían como solo cuando confirmas.

Nada se escribe en tu tabla hasta que lo dices.

Cómo funciona

Cada tabla tiene su propia área de preparación, compartida entre cada vista de esa tabla. Cuando guardas una edición de elemento, creas una fila o eliminas una, el cambio aterriza en el panel como un diff por atributo — atributos añadidos, eliminados y cambiados mostrados en paralelo. Las filas afectadas en la cuadrícula se tiñen según la operación:

  • verde — un elemento nuevo (creación)
  • naranja — una actualización (celdas cambiadas resaltadas)
  • rojo — una eliminación (tachada)

Abre la misma tabla en dos pestañas y muestran los mismos cambios pendientes; cierra y vuelve a abrir una pestaña y la preparación sigue ahí. Cerrar una pestaña nunca descarta tus cambios preparados.

Alterna el panel con ⌘⇧D. Arrastra su borde para redimensionarlo.

El panel de preparación mostrando los cambios pendientes como tarjetas de diff por atributo, con confirmación por fila y masiva.
El panel de preparación mostrando los cambios pendientes como tarjetas de diff por atributo, con confirmación por fila y masiva.

Revisar los cambios

Cada tarjeta de diff muestra exactamente lo que cambiará:

  • Los escalares renderizan antiguo → nuevo con resaltado rojo/verde.
  • Las cadenas largas muestran un diff en línea a nivel de palabra.
  • Los Maps y Lists se renderizan como JSON con formato (atributo entero en la v1).

Usa el Rechazar por atributo de una tarjeta para devolver un solo atributo a su valor original. Rechaza cada atributo y el cambio entero se descarta.

Confirmar

Confirma para escribir tus cambios preparados en DynamoDB:

  • Confirmar N envía cada cambio preparado de esa tabla — a través de todas sus pestañas.
  • Confirmar solo esto envía un único cambio desde su tarjeta.

Las confirmaciones salen como lotes TransactWriteItems con condiciones de bloqueo optimista: una actualización solo tiene éxito si los atributos aún mantienen los valores con los que empezaste, una creación solo tiene éxito si el elemento aún no existe, y una eliminación solo tiene éxito si el elemento sigue ahí. Las preparaciones grandes se fragmentan automáticamente para mantenerse dentro de los límites de transacción de DynamoDB.

Las combinaciones de guardado del editor aplican aquí también:

  • ⌘S — preparar (sin confirmar)
  • ⌘⇧S — guardar y confirmar
  • ⌘⇧X — descartar todos los cambios preparados (con confirmación)

Desde una selección en la cuadrícula puedes preparar eliminaciones sin abrir el editor:

  • ⌘⌫ — prepara una eliminación de las filas seleccionadas
  • ⌘⇧⌫ — elimina y confirma las filas seleccionadas

Conflictos

Como las confirmaciones usan bloqueo optimista, un cambio confirmado por otra persona después de que prepararas el tuyo se detecta en lugar de sobrescribirse silenciosamente. La tarjeta muestra un banner en línea:

  • Desfase — el elemento remoto cambió bajo tus pies. Rebase sobre el remoto refresca la línea base para que puedas volver a revisar, o Abortar el cambio.
  • Eliminado en remoto — el elemento ya no existe. Aborta el cambio.
  • Red no disponible — la confirmación no pudo alcanzar DynamoDB. Reintentar o abortar.

Una confirmación se detiene en el primer lote fallido — los lotes anteriores con éxito quedan escritos, el resto no se intenta, y los fallos afloran como conflictos a resolver.

Qué bloquea las confirmaciones

Algunos estados son de solo lectura y pueden preparar pero no confirmar — sobre todo una licencia caducada o de solo lectura. La preparación sigue funcionando; la confirmación se vuelve a desbloquear en cuanto la app vuelve a un estado activo.

Actualizado