Migrar 5 millones de registros enseña lo que ningún tutorial cuenta
Publicado el 24 de agosto de 2026
𝗠𝗶𝗴𝗿𝗮𝗿 𝟱 𝗺𝗶𝗹𝗹𝗼𝗻𝗲𝘀 𝗱𝗲 𝗿𝗲𝗴𝗶𝘀𝘁𝗿𝗼𝘀 𝗲𝗻𝘀𝗲ñ𝗮 𝗹𝗼 𝗾𝘂𝗲 𝗻𝗶𝗻𝗴ú𝗻 𝘁𝘂𝘁𝗼𝗿𝗶𝗮𝗹 𝗰𝘂𝗲𝗻𝘁𝗮 🔥
Ejecutar un script de migración sin red de seguridad es como operar sin anestesia. Funciona... hasta que no funciona. 😅
Tuve que reconstruir una colección de 𝗠𝗼𝗻𝗴𝗼𝗗𝗕 𝘁𝗶𝗺𝗲 𝘀𝗲𝗿𝗶𝗲𝘀 con más de 𝟱 𝗺𝗶𝗹𝗹𝗼𝗻𝗲𝘀 𝗱𝗲 𝗿𝗲𝗴𝗶𝘀𝘁𝗿𝗼𝘀. El proceso lo corrí con scripts de 𝗡𝗼𝗱𝗲.𝗷𝘀 directamente desde la consola del servidor, con la aplicación en 𝗺𝗼𝗱𝗼 𝗺𝗮𝗻𝘁𝗲𝗻𝗶𝗺𝗶𝗲𝗻𝘁𝗼. Sin perder datos. Y potencialmente ejecutarse varias veces si algo fallaba. Eso me forzó a pensar distinto. 💻
Seis principios que aprendí en carne propia 👇
🧪 𝗗𝗿𝘆-𝗿𝘂𝗻
Correr el script en modo simulación primero — sin aplicar cambios reales. Estima cuánto tarda, detecta errores de lógica y valida el flujo antes de tocar producción. Con millones de registros, este paso ahorra horas de dolor.
🗄️ 𝗕𝗮𝗰𝗸𝘂𝗽 𝗽𝗿𝗲𝘃𝗶𝗼
El paso cero antes de ejecutar cualquier migración. Si el script tiene un bug en la lógica, necesitas poder volver atrás. A esta escala, no hay margen para improvisar una recuperación.
🔁 𝗜𝗱𝗲𝗺𝗽𝗼𝘁𝗲𝗻𝗰𝗶𝗮
El script debe poder correr N veces y producir siempre el mismo resultado. Antes de insertar o modificar, verificar si el estado destino ya existe. Nunca asumir que es la primera ejecución.
🛡️ 𝗥𝗲𝘀𝗶𝗹𝗶𝗲𝗻𝗰𝗶𝗮
Guardar checkpoints: registrar hasta dónde llegó el proceso. Si falla a mitad, debe retomar desde ahí — no volver a empezar desde cero. Logging detallado es obligatorio, no opcional.
⚡ 𝗘𝗳𝗶𝗰𝗶𝗲𝗻𝗰𝗶𝗮
Con 5M de registros no puedes procesar uno a uno. 𝗕𝗮𝘁𝗰𝗵𝗲𝘀 controlados + pausas entre lotes para no saturar la DB en producción. El objetivo: reducir tiempo y consumo de recursos sin romper nada.
✅ 𝗩𝗮𝗹𝗶𝗱𝗮𝗰𝗶ó𝗻 𝗽𝗼𝘀𝘁-𝗺𝗶𝗴𝗿𝗮𝗰𝗶ó𝗻
El script puede terminar sin errores y aun así haber migrado mal. Verificar conteo de registros, integridad y consistencia entre origen y destino. Sin validación, no sabes si realmente funcionó.
Un script de migración no es código que corres una vez y olvidas. Es infraestructura. Merece el mismo rigor que cualquier servicio en producción. 🚀
¿Alguna vez tuviste que migrar datos en producción bajo presión? ¿Qué te hubiera ayudado saber antes? 👇
¡Sigan volando, Campeones! ✈️