Rullst AcademyRullst Academy/Lección
De la aplicación a la publicación con Rullst · Lección 11 / 12

Actualizar con un regreso conocido

Revertir un programa y revertir datos son decisiones distintas. Ensayemos un cambio pequeño sin ocultar esa diferencia.

Rutas de aprendizaje35 min

Vamos a descubrir juntos

  1. 1

    Antes de cambiar código, compila la versión inicial y conserva su ejecutable en una carpeta v1 nueva fuera de target, como muestra README. Registra su hash. Usa solo una copia restaurada de la base para el ensayo.

  2. 2

    Cambia solo un texto visible en web/index.html, sin tocar schema.sql, rutas ni reglas de datos. Ejecuta pruebas y recompila. Detén v1, selecciona MB_RELEASE=lesson-v2 y ejecuta el nuevo binario sobre la copia de laboratorio.

  3. 3

    Comprueba /readyz, texto cambiado y misiones. Añade una misión ficticia en v2. Detén v2 y ejecuta el binario v1 conservado con MB_RELEASE=lesson-v1 sobre la misma copia. La nueva misión debe permanecer porque no cambió el esquema.

  4. 4

    MB_RELEASE puede mentir si eliges un valor incorrecto. Compara también el texto compilado y el hash del ejecutable. No confundas cambiar una variable con implantar código nuevo.

  5. 5

    Si una actualización futura cambia el esquema, este regreso puede fallar. Detente y evalúa compatibilidad, escrituras posteriores y recuperación ensayada antes de decidir. Restaurar un backup antiguo puede descartar cambios recientes; no automatices esa decisión a ciegas.

Del razonamiento a la ejecución

El recorrido principal ocurre en tu equipo con datos ficticios. Podman, Quadlet y Caddy son extensiones opcionales; no necesitas comprar dominio ni contratar nube. Este laboratorio no está listo para escritura pública.

Lee los pasos antes de ejecutar. Estos comandos son una referencia; README.md explica la sintaxis de tu sistema y LAB.md reúne el recorrido. La web no ejecuta estos comandos por ti.

cargo test --locked
cargo build --release --locked
Mi registro de evidencias

Registra hashes v1/v2, texto observado, misión añadida y resultado del regreso. Añade una condición de parada explícita: “si hay migración de datos, verificar compatibilidad antes de volver”.

Separa predicción, ejecución y resultado observado. Registra “no ejecutado” cuando falte el entorno. El progreso de la web no valida una implantación real ni otorga certificación profesional.

Mis archivos y GitHub

Enlaces oficiales y siguiente paso

✦
TU MISIÓN

Probar dos versiones con una copia de laboratorio y justificar cuándo es compatible regresar.

Ahora te toca

Taller de descubrimientos

Decide con evidencias

v2 añadió una misión con el mismo esquema. Un plan propone restaurar automáticamente el backup anterior.
Prepara tus respuestas y comprueba cuando estés listo.
Una pausa para entender

¿Cuándo conserva el ensayo de regreso la misión creada en v2?

Necesito una pista

El ejercicio cambia presentación y mantiene el esquema. Permite ensayar regreso del programa sin confundirlo con regreso de los datos; no prueba compatibilidad de futuras migraciones.

Cargando tu camino…

Llévatelo contigo

Registra hashes v1/v2, texto observado, misión añadida y resultado del regreso. Añade una condición de parada explícita: “si hay migración de datos, verificar compatibilidad antes de volver”.

A tu ritmo

Mis archivos y GitHub

Cada lección puede convertirse en un registro propio: código, notas o un plan de práctica. Guardar un archivo en GitHub es opcional y no cambia tus XP.

Manual del alumno

El editor y las descargas se abren cuando esta lección esté disponible para tu cuenta. Revisa el acceso indicado abajo o vuelve al mapa de la ruta.

Comprobando tu acceso a esta lección…

Rullstpetbot

La IA puede equivocarse. Consulta el material de la lección.