¿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.

¿Qué es una migración de base de datos y cómo aplicarla sin perder información?

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.

¿Qué es una migración de base de datos y cómo aplicarla sin perder información?
  • migraciones
  • PostgreSQL
  • backend

En ArduMaker

  • PostgreSQL: Instalás PostgreSQL y administrás bases, usuarios y permisos sin línea de comandos.

Seguir leyendo

Todos los artículos · Planes de VPS