¿Qué es una migración de base de datos y cómo aplicarla sin perder información?
Publicado el 2026-10-26 por frfrand
Schema migrations: columns, indexes, compatible changes, backups, and rollback.

Una migración de base de datos es un cambio controlado en la estructura o en ciertos datos de una base, realizado de manera reproducible. Puede añadir una columna, modificar un índice o transformar información que una nueva versión del programa necesita.
Una forma sencilla de entenderlo
Imagina un registro de clientes que hasta ayer solo guardaba nombre y correo. Ahora quieres almacenar su idioma preferido. Agregar ese campo es sencillo en un ejemplo pequeño, pero en una base utilizada por miles de personas hay que pensar en versiones anteriores y datos existentes.
¿Cómo funciona en la práctica?
Frameworks como Django y herramientas SQL utilizan archivos de migración que describen cambios ordenados. El sistema conoce qué migraciones se aplicaron. Algunos cambios necesitan separar la introducción de una columna de su relleno y de la exigencia posterior de valores no nulos, para no bloquear una aplicación antigua.
Lo que no resuelve y sus límites
No todas las migraciones son reversibles ni instantáneas. Cambiar el tipo de una columna enorme o crear cierto índice puede bloquear escrituras, consumir espacio o tardar más de lo previsto. Un rollback del código tampoco deshace automáticamente una transformación de datos. Las operaciones dependen del motor utilizado.
Cómo aplicarlo y comprobarlo sin sorpresas
Prueba la migración con un volumen parecido al real, realiza respaldos verificables y observa tiempos de bloqueo. Si habrá instancias antiguas y nuevas funcionando a la vez, diseña cambios compatibles. Después del despliegue comprueba consultas reales, métricas y posibilidad de recuperación.
¿Cómo aparece en ArduMaker?
Al ejecutar PostgreSQL y una aplicación en VPS de ArduMaker, las migraciones forman parte del proceso de publicación del software y requieren coordinación con sus backups y versiones. La plataforma no decide automáticamente la compatibilidad del esquema.
La idea principal
Una migración de base de datos es un cambio controlado en la estructura o en ciertos datos de una base, realizado de manera reproducible. Entender cuándo se aplica, cómo falla y qué datos revisar es más útil que memorizar comandos sueltos.
Para ampliar: Django: Migrations.
El patrón de expandir y contraer
Un método habitual para migraciones compatibles consiste en añadir primero campos nuevos sin eliminar los viejos, publicar código capaz de trabajar con ambos formatos, migrar los registros y solo después retirar la estructura antigua. Esto permite que durante un tiempo convivan diferentes versiones sin bloquear a los usuarios.
Una copia no es una recuperación
Antes de un cambio importante, comprobá dónde están los respaldos y cuánto tardaría restaurarlos. Si tenés miles de transacciones por hora, perder varias horas de datos puede ser inaceptable. Definí objetivos de recuperación, probá el proceso y documentá los pasos; una migración correcta también contempla qué hacer cuando falla a mitad de camino.
