Blog / Plataformas y migraciones

Migrar los datos es la verdadera migración

El código nuevo se puede reescribir las veces que haga falta. Años de registros del negocio, no. Cómo mapear, limpiar, ensayar, conciliar y hacer el corte de los datos al reemplazar un sistema viejo, con una vuelta atrás y los registros viejos todavía legibles.

Cuando un equipo planea reemplazar un sistema viejo, casi toda la atención se va al código nuevo. El código es la parte que se puede rehacer. Los datos, no. Años de clientes, pedidos, facturas e historial son aquello con lo que el negocio realmente opera, y si llegan mal, el sistema nuevo está mal desde su primer día. Migrar los datos es la verdadera migración; lo demás es software.

Si lideras el equipo: qué preguntar

  • ¿Cuántas veces ensayamos la migración completa de datos sobre una copia, y cuadraron los números cada vez?
  • Después del cambio, ¿cómo vamos a demostrar que cada registro llegó, y que llegó bien?
  • Si tenemos que volver atrás, ¿qué pasa con los registros creados mientras tanto en el sistema nuevo?

Mapea cada campo, de forma explícita

Empieza con un mapeo por escrito: para cada tabla y campo del sistema viejo, a dónde va en el nuevo, cómo se transforma o por qué se queda atrás.

  • Tipos y formatos. Fechas guardadas como texto, montos con decimales implícitos, zonas horarias que nadie registró, codificaciones de caracteres de otra época.
  • Significados. Un código de estado significa lo que el código viejo hacía con él, no lo que dice su nombre. Confirma cada valor con las personas que lo usan.
  • Campos sin destino. Decide a propósito.

Limpia antes de mover, y sabe qué cambiaste

Los datos viejos traen problemas viejos: campos obligatorios vacíos, valores fuera de cualquier rango válido, referencias a registros que ya no existen. Algunos se corrigen con reglas, otros necesitan que una persona decida y otros hay que pasarlos tal como están. Sea cual sea la decisión, la limpieza se hace con scripts, nunca a mano, y cada cambio queda registrado para que cualquiera pueda ver qué se alteró y por qué.

Maneja los IDs y los duplicados a propósito

Los identificadores son donde las migraciones se rompen sin hacer ruido. Otros sistemas, correos y facturas impresas usan los IDs viejos. Mantén una tabla de correspondencia de cada ID viejo con su ID nuevo, y conserva el ID viejo como un campo del registro nuevo.

Los duplicados necesitan reglas acordadas con el negocio: cuando dos registros de cliente son el mismo cliente, qué valores quedan, y a dónde van sus pedidos, notas e historial. Registra cada fusión.

Ensaya sobre copias hasta que sea aburrido

La migración es un script, o un conjunto de ellos, y corre muchas veces sobre copias frescas de los datos de producción antes de correr de verdad. Cuando dos corridas seguidas dan los mismos números limpios, y el tiempo de ejecución cabe en la ventana que tienes, los ensayos cumplieron su función.

Concilia con conteos y checksums

“Se ve bien” no es evidencia. La conciliación sí lo es:

  • Conteos por tabla y por categoría: clientes, clientes activos, pedidos por año, facturas por estado. Cada diferencia, explicada.
  • Totales de los números que importan: saldos, montos facturados, cantidades. Tienen que coincidir al centavo.
  • Checksums sobre los campos clave, calculados de la misma forma en ambos lados, para detectar valores que cambiaron en silencio.
  • Muestras revisadas por personas que conocen los datos, sobre los registros que más les importan.

Las mismas revisiones corren después de la migración real, y sus resultados se guardan.

Planea el corte, y el camino de regreso

Escribe el corte como un procedimiento con tiempos: congelar o pausar las escrituras en el sistema viejo, corrida final de migración, conciliación, cambio, pruebas rápidas y el momento de decidir. Nombra quién decide y qué resultado significa seguir o detenerse.

Después planea la vuelta atrás antes de necesitarla. Volver en la primera hora es simple. Volver cuando los usuarios ya crearon registros en el sistema nuevo no lo es: decide de antemano si esos registros se copiarán de regreso, se volverán a ingresar o se retendrán, y cómo. Si reemplazas el sistema pieza por pieza, cada pieza necesita su propia versión de este plan.

Mantén legibles los datos viejos

Una vez hecho el cambio, conserva una copia de solo lectura de los datos viejos, y una forma de consultarla, durante el tiempo que exijan las necesidades legales, de auditoría o de soporte. Las preguntas sobre registros viejos llegan durante años.

De dónde venimos

Hemos hecho este tipo de trabajo en una plataforma de IA en producción para profesionales legales y de salud, donde estuvimos a cargo de la ingesta y normalización de registros de muchos sistemas hacia un único modelo validado. La lección se traslada directamente: los datos tienen que volverse confiables al entrar, o todo lo que viene después hereda sus problemas. Por eso, en nuestro trabajo de modernización de software, los datos reciben tanto cuidado como el código.

Checklist de migración de datos

  • ¿Hay un mapeo por escrito de cada campo, incluido lo que se queda atrás y por qué?
  • ¿La limpieza se hace con scripts que registran cada cambio?
  • ¿Cada registro nuevo conserva su ID viejo, con una tabla de correspondencia completa?
  • ¿Las reglas de duplicados están acordadas con el negocio, y cada fusión registrada?
  • ¿La migración completa corrió sobre copias frescas hasta que los números se estabilizaron?
  • ¿Cuadran los conteos, los totales y los checksums, y se guardan los resultados?
  • ¿Hay un procedimiento de corte con tiempos y una persona que decide?
  • ¿El plan de vuelta atrás cubre los registros creados después del cambio?
  • ¿Los datos viejos seguirán legibles todo el tiempo que se puedan necesitar?

Escrito a partir del trabajo de nuestros ingenieros en sistemas en producción. ¿Quieres una segunda opinión sobre tu proyecto? Habla con un ingeniero.

Ver el trabajo →

¿Quieres que revisemos
tu sitio?

Cuéntanos dónde el tráfico, los ingresos o tus cifras dejaron de tener sentido. Te diremos qué revisaríamos primero.

Agenda una llamada de 15 min

Solo enviamos lo que pides. Privacidad

¿Prefieres escribirnos directamente? activa JavaScript para ver la dirección

Habla con un ingeniero

Sin teatro comercial. Cuéntanos dónde tu operación se siente lenta, repetitiva o difícil. Un ingeniero lee cada mensaje y te responde por correo.

¿Prefieres conversar? Elige un horario de 15 minutos →

Tu mensaje llega directamente a nuestros ingenieros en nuestra dirección.