DB Compare
Compare schemas e índices entre dos conexiones. Diff visual con highlighting de breaking-change. Conecte como gate de PR para que drift estructural entre dev / staging / producción sea agarrado antes del deploy.
Qué es
Un tab de workspace que compara schema + índices de dos conexiones side by side. El engine lee listas de collection, sample documents (para inferencia de schema), y `db.collection.getIndexes()` de cada lado, luego renderiza un diff estructural con marcadores de breaking-change (ej.: fields removidos, narrowing de tipo, índices dropados).
Cuándo usar
Corra antes de un release para confirmar que dev / staging combina con producción. Corra como gate de PR para que drift estructural no pueda landar sin review. Corra durante incident response para verificar que un cluster mal-comportado no perdió un índice.
Cómo abrirlo
- En el app desktop del NoSqlStudio, abra el menú Tools → Migrate and Diff → Compare DBs, o presione Ctrl+Alt+Shift+C.
- Un workspace abre con pickers source / target y un botón Run Compare.
- Elija dos conexiones + los databases para comparar, luego haga clic en Run Compare.
Leyendo el diff
- Columna Schema — fields presentes en un lado y no en el otro, mismatches de tipo, y cambios de required-field.
- Columna Índices — índices presentes en un lado, índices con specs diferentes, índices que deberían ser unique pero no lo son.
- Breaking changes — items que el engine flagga como probables de causar runtime failures son destacados en rojo y listados primero.
- Export — el engine exporta el diff como JSON o CSV para adjuntar a un ticket. El workspace Schema Diff consume el mismo formato de diff para emitir un script de migración.
Limitaciones (v1)
- Inferencia de schema es sample-based — mismo caveat que Schema Diff. Defina el sample size para cubrir documents representativos.
- Comparar collections enormes en sample size completo es lento. El wizard tiene default 1000-doc sample; aumente solo cuando específicamente necesite cobertura completa.
- Compare solo lee — no modifica ninguno de los clusters. Use Schema Diff o DB Copy para de hecho reconciliar.