Rullst AcademyRullst Academy/Lição
Do aplicativo à publicação com Rullst · Lição 11 / 12

Atualizar com uma saída conhecida

Voltar o programa e voltar os dados são decisões diferentes. Vamos ensaiar uma alteração pequena sem esconder essa diferença.

Trilhas de aprendizado35 min

Vamos descobrir juntos

  1. 1

    Antes de alterar código, compile a versão inicial e guarde seu executável numa pasta v1 nova fora de target, conforme README. Registre o hash. Use apenas uma cópia restaurada do banco para o ensaio.

  2. 2

    Altere apenas um texto visível em web/index.html, sem tocar schema.sql, rotas nem regras de dados. Execute os testes e compile de novo. Pare v1, selecione MB_RELEASE=lesson-v2 e execute o novo binário sobre a cópia de laboratório.

  3. 3

    Confira /readyz, o texto alterado e as missões. Acrescente uma missão fictícia na v2. Pare v2 e execute o binário preservado v1 com MB_RELEASE=lesson-v1 sobre a mesma cópia. A nova missão deve continuar porque não houve mudança de esquema.

  4. 4

    O rótulo MB_RELEASE pode mentir se você escolher o valor errado. Compare também o texto compilado e o hash do executável. Não trate uma troca só de variável como implantação de código novo.

  5. 5

    Se uma atualização futura alterar o esquema, esse retorno pode não funcionar. Pare e avalie compatibilidade, escritas feitas depois e recuperação ensaiada antes de decidir. Restaurar um backup antigo pode descartar alterações recentes; não automatize essa decisão às cegas.

Do raciocínio à execução

O caminho principal acontece no seu computador, com dados fictícios. Podman, Quadlet e Caddy são extensões opcionais; não é preciso comprar domínio nem contratar nuvem. Este laboratório não está pronto para escrita pública.

Leia os passos antes de executar. Os comandos abaixo são uma referência; README.md explica a sintaxe do seu sistema e LAB.md reúne o roteiro. O site não executa estes comandos por você.

cargo test --locked
cargo build --release --locked
Meu registro de evidências

Registre hashes v1/v2, texto observado, missão adicionada e resultado do retorno. Acrescente um ponto de parada explícito: “se houver migração de dados, verificar compatibilidade antes de voltar”.

Separe previsão, execução e resultado observado. Registre “não executado” quando faltar ambiente. O progresso do site não valida uma implantação real nem confere certificação profissional.

Meus arquivos e GitHub

Links oficiais e próximo passo

✦
SUA MISSÃO

Testar duas versões numa cópia de laboratório e justificar quando um retorno é compatível.

Agora é a sua vez

Oficina de descobertas

Decida com evidências

A v2 adicionou uma missão com o mesmo esquema. Um plano propõe restaurar automaticamente o backup anterior.
Monte suas respostas e confira quando estiver pronto.
Uma pausa para entender

Quando o ensaio de retorno desta lição preserva a missão criada na v2?

Preciso de uma pista

O exercício altera apresentação e mantém o esquema. Isso permite ensaiar retorno do programa sem confundir com retorno dos dados; não prova compatibilidade de futuras migrações.

Carregando sua jornada…

Leve com você

Registre hashes v1/v2, texto observado, missão adicionada e resultado do retorno. Acrescente um ponto de parada explícito: “se houver migração de dados, verificar compatibilidade antes de voltar”.

No seu ritmo

Meus arquivos e GitHub

Toda lição pode virar um registro seu: código, anotações ou um plano de prática. Guardar um arquivo no GitHub é opcional e não altera seu XP.

Manual do aluno

O editor e os downloads abrem quando esta lição estiver liberada para sua conta. Confira o acesso abaixo ou volte ao mapa da trilha.

Conferindo seu acesso à lição…

Rullstpetbot

A IA pode errar. Confira no material da lição.