Amplía antes de cambiar
Empieza con cambios aditivos, como una columna nullable, una tabla nueva o un índice creado con el método en línea que admita la base. Despliega código compatible con ambos esquemas antes de depender del campo nuevo.
Completa los registros existentes en lotes pequeños, vigila la carga y permite reanudar el proceso. Evita una transacción enorme que mantenga bloqueos o genere retrasos bruscos en la replicación.
Retira después de verificar
Cuando todas las instancias usen la estructura nueva, comprueba la coherencia y supervisa errores antes de quitar columnas o restricciones antiguas. Mantén la compatibilidad el tiempo suficiente para trabajos diferidos y planes de reversión.
Prueba la migración con un volumen parecido al de producción y define la recuperación. Revertir el código no siempre deshace un cambio destructivo; conservar los datos antiguos o aplicar una reparación hacia delante puede ser más seguro.