La migración, paso a paso
Una migración es una secuencia de pasos reversibles con una verificación después de cada uno. Cuando una verificación no llega a un veredicto, la ejecución lo dice en lugar de llamarlo éxito.
Los pasos
- Punto de restauración— tomado en el destino antes de cualquier escritura.
- Extensiones— instaladas primero, porque el esquema depende de ellas.
- Esquema— todos los esquemas del proyecto, con el search path del origen, para que los tipos propios se resuelvan.
- Autenticación— usuarios e identidades. Los hashes de contraseña se trasladan cuando el formato es portable; cuando no lo es, queda registrado como limitación, no se sortea.
- Datos— el contenido de las tablas, con conteo de filas y contenido comparados después.
- Storage— buckets y objetos, con ruta, tipo, tamaño, dueño y políticas de acceso comprobados, y los bytes comparados.
Cuando algo falla
El paso se repite donde repetir es seguro. Si sigue fallando, los pasos terminados se deshacen en orden inverso y el destino vuelve al punto de restauración. La ejecución se registra como compensada — no como un éxito con nota al pie.
Cuando cancelas
El paso en curso termina, la ejecución se detiene y el destino vuelve al punto de restauración. Interrumpir una copia a la mitad dejaría un estado que nadie describió, así que el motor no lo ofrece.
Límites honestos
Lo que se ha medido
- Verificado contra un proyecto alojado real, en el laboratorio: esquema, extensiones, usuarios de autenticación, datos de las tablas y archivos, con 11 verificaciones aprobadas.
- Un proceso detenido a la mitad retomó desde su diario y terminó sin rehacer trabajo terminado.
Lo que no
- Sesiones activas. No se migran — los tokens pertenecen a la plataforma anterior.
- Plataformas distintas de la medida. Cada origen es un conector, y cada conector es una medición propia.
- Las migraciones que dependen de datos que solo existen en la base de origen pueden necesitar adaptación antes de correr; el plan las señala.
Pruébalo antes en un destino desechable
Un piloto empieza con un ensayo contra un destino desechable, nunca contra el sistema del que dependes.