Saltar al contenido
Telemetry
Fiabilidad de la base de datos receta SQL

Seguimiento de errores de migración de bases de datos por versión

Compare el éxito, el fracaso, la reversión y la duración de la migración de la base de datos por versión de la aplicación antes de completar una implementación.

Principiantedatabase_migration_eventsRevisado 2026-07-28Probado con Apache DataFusion 45.2.0

Revisado por el equipo de producto Telemetry en . Compatibilidad con SQL, contrato de eventos, resultados sintéticos y advertencias operativas. Revisar los estándares y la propiedad

Pregunta respondida

¿Qué versiones contienen migraciones de bases de datos fallidas o revertidas?

Una implementación puede parecer saludable, mientras que una migración aplicada parcialmente deja en riesgo las solicitudes de aplicaciones posteriores. El registro del resultado de la migración de una terminal hace que la preparación para el lanzamiento sea inspeccionable.

Contrato de evento

Campos que espera la consulta

CampoTipoPor que existe
timestamp_utcTimestampHora de migración de la terminal en UTC.
migration_idUtf8Identificador de migración estable desde el control de fuente.
serviceUtf8Trabajo de servicio o implementación que ejecutó la migración.
database_nameUtf8Nombre de la base de datos lógica aprobada.
releaseUtf8Lanzamiento de aplicación o infraestructura.
statusUtf8éxito, error o rolled_back.
duration_msFloat64Duración de la ejecución de la migración.
error_typeUtf8Categoría de error controlada sin salida de base de datos sin procesar.
environmentUtf8Entorno de implementación.
DataFusionSQL

Copiar la consulta

sql
SELECT
  release,
  service,
  database_name,
  COUNT(*) AS migrations,
  SUM(CASE WHEN status = 'success' THEN 1 ELSE 0 END) AS successful,
  SUM(CASE WHEN status = 'failed' THEN 1 ELSE 0 END) AS failed,
  SUM(CASE WHEN status = 'rolled_back' THEN 1 ELSE 0 END) AS rolled_back,
  100.0 * SUM(CASE WHEN status = 'success' THEN 1 ELSE 0 END)
    / NULLIF(COUNT(*), 0) AS success_rate_pct,
  AVG(duration_ms) AS average_duration_ms
FROM database_migration_events
WHERE timestamp_utc >= now() - INTERVAL '30 days'
  AND environment = 'production'
GROUP BY release, service, database_name
ORDER BY release DESC;

Esta consulta de solo lectura se planifica y ejecuta en una tabla escrita vacía con Apache DataFusion 45.2.0. El resultado de la muestra determinista es sintético y se revisa por separado; valide tipos de campos, umbrales y definiciones comerciales con sus propios datos. Lea la metodología de prueba.

Resultado de la consulta

Tasa de éxito de la migración por versión

La versión más reciente contiene una migración fallida y una revertida y no debe considerarse completa.

releaseservicedatabase_namemigrationssuccessfulfailedrolled_backsuccess_rate_pctaverage_duration_ms
2026.07.2application-apiapp_production5311601470
2026.07.1application-apiapp_production5500100890

Salida de ejemplo sintético. Ejecute la consulta con su propio esquema de eventos y umbrales antes de utilizarla para decisiones operativas.

Migration success rate by release: gráfico estático de valores sintéticos de success_rate_pct del resultado del ejemplo Track Database Migration Failures by Release
SVG indexable de la salida del ejemplo determinista. Descárguelo para ver un artículo, un runbook o una revisión de diseño con atribución.

Reproducir el ejemplo

Descargar el accesorio público

El paquete JSON incluye el contrato de evento escrito, reproducible filas de entrada, SQL exacto, resultado esperado, notas de revisión y versión del motor. El CSV contiene el resultado mostrado.

Cómo funciona el SQL

  1. 1Una fila terminal por migración evita que los eventos de inicio y reintento inflen el denominador.
  2. 2Los resultados fallidos y revertidos permanecen separados porque una reversión exitosa aún significa que la migración no se realizó.
  3. 3La versión, el servicio y la base de datos identifican el límite de implementación exacto que necesita revisión.

Casos extremos para decidir

  • Algunas herramientas de migración lo reintentan automáticamente. Conservar el recuento de intentos por separado mientras se emite un resultado terminal.
  • Una migración exitosa aún puede ser lógicamente errónea; empareje esta vista con el estado de la aplicación y la validación posterior a la implementación.
  • No registre DDL sin formato, cadenas de conexión ni texto de error de base de datos sin restricciones.

Panel recomendado

  • Barras: success_rate_pct por lanzamiento
  • Tabla: ID de migración fallidas y revertidas
  • Tendencia: duración de la migración y recuento por implementación

Guía de alerta

Bloquee la finalización de la implementación cuando cualquier migración de producción tenga un resultado de terminal fallido o revertido.

Leer configuración de alerta

Pon la receta a trabajar

Instrumentación y guías relacionadas.

Continuar el análisis

Ejecútelo en eventos reales.

Crea una tabla, adapta los campos y guarda el resultado.

Comience gratis, envíe eventos estructurados y utilice el resultado de la consulta como un gráfico, un widget de panel compartido o una entrada de alerta.

Obtén una clave API