Blog · Problemas resueltos

Cómo detectar usuarios huérfanos antes de sincronizar dos bases de datos

Los contadores no coincidían porque seguían existiendo metadatos de tienda para usuarios eliminados. Diseñamos una limpieza segura y recuperable.

Cómo detectar usuarios huérfanos antes de sincronizar dos bases de datos

Dos sistemas afirmaban tener cantidades distintas de usuarios para la misma tienda. La conexión funcionaba y el sincronizador terminaba sin errores graves, pero siempre quedaba un grupo de registros «saltados». Algunos identificadores aparecían en los metadatos aunque ya no existían en la tabla principal de usuarios.

Qué es un registro huérfano

En este caso no faltaba necesariamente un cliente real. Quedaban filas que relacionaban antiguos identificadores con una tienda después de eliminar o migrar el usuario. El sincronizador encontraba la asignación, intentaba cargar el perfil y descubría que no había correo ni registro principal.

Eliminar todo lo que no sincronizaba habría sido imprudente. Algunos usuarios sí existían en WordPress, otros tenían mascotas o reservas y algunos eran gestores excluidos deliberadamente del lote.

La comprobación antes de borrar

Preparé un diagnóstico que cruzaba cada candidato con:

  • la tabla principal de usuarios;
  • los usuarios vinculados en WordPress;
  • mascotas y relaciones dependientes;
  • reservas y servicios;
  • roles que el sincronizador debía excluir;
  • metadatos de tienda que originaban su inclusión.

Una limpieza con vuelta atrás

Antes de retirar ninguna asociación, la consulta copia exactamente las filas afectadas a una tabla de respaldo fechada. Después elimina solo los metadatos huérfanos de esa tienda. No borra usuarios, mascotas, reservas ni información de otros centros.

Este detalle convierte una limpieza potencialmente peligrosa en una operación verificable y reversible. También permite comparar los contadores antes y después.

Por qué los contadores no son suficientes

Que un panel muestre «conexión OK» no significa que los conjuntos de datos coincidan. Ese estado solo confirmaba token, permisos y conectividad. Añadí diagnósticos separados para cantidad esperada, usuarios vinculados, pendientes, excluidos y huérfanos.

La lección para cualquier integración

Las sincronizaciones necesitan una política explícita de identidad y eliminación. Debemos saber qué sistema manda, qué ocurre cuando desaparece un usuario y qué referencias deben conservarse. Sin esas reglas, las diferencias pequeñas se convierten con el tiempo en cientos de excepciones difíciles de explicar.

Si tus bases de datos no cuadran, puedo preparar primero una auditoría de solo lectura y una limpieza recuperable.

¿Quieres valorar nuestro artículo?