Rullst AcademyRullst Academy/Lição
Aplicações com Rullst I · Lição 13 / 14

Recuperar sem apagar o presente

Um backup só ganha confiança quando conseguimos usá-lo.

Trilhas de aprendizado20 min

Vamos descobrir juntos

  1. 1

    Salve duas missões e encerre o servidor. Execute cargo run --locked -- backup missions.db first-backup.db. O utilitário lê um banco existente, verifica integridade e esquema e usa VACUUM INTO com destino novo. Um nome de origem errado deve falhar, não criar um banco vazio.

  2. 2

    Adicione depois uma terceira missão ao banco original e encerre novamente. Execute restore first-backup.db rehearsal.db, usando cargo run --locked -- antes do comando. O destino deve ser novo: a ferramenta recusa sobrescrever arquivos. O backup representa o momento das duas missões, não o estado atual.

  3. 3

    Execute verify rehearsal.db e depois serve rehearsal.db, com o mesmo prefixo Cargo. Confira os dois títulos, prioridades e estados no navegador. Pare e volte a serve missions.db: as três missões originais devem continuar lá. Integridade estrutural sem conferir o conteúdo esperado não basta.

  4. 4

    Uma cópia no mesmo disco é um ensaio, não proteção contra perda do computador. VACUUM INTO pode falhar ou ser interrompido; só confie após o comando terminar e as verificações passarem. Não copie apenas o arquivo principal de um banco em uso sem compreender journals/WAL.

Sua bancada de aplicações

O kit inclui o aplicativo completo para investigar e modificar. O trecho abaixo explica esta etapa; o editor contém o arquivo indicado. A Rullst Academy não compila nem executa esse servidor no navegador.

Arquivo para estudar e modificar

NOTES.md

cargo run --locked -- backup missions.db first-backup.db
cargo run --locked -- restore first-backup.db rehearsal.db
cargo run --locked -- verify rehearsal.db
cargo run --locked -- serve rehearsal.db

Extraia o kit numa pasta nova e abra o terminal junto a Cargo.toml. Use Rust 1.96+; o primeiro build pode baixar dependências e demorar. Depois abra http://127.0.0.1:3010. Pare com Ctrl+C e execute novamente após editar.

cargo test --locked
cargo run --locked
Meus arquivos e GitHub

Baixe seu rascunho e substitua o arquivo indicado na sua cópia extraída. O editor guarda um arquivo neste navegador; a conta guarda avaliações e XP. O ZIP não contém suas alterações. GitHub envia só o arquivo confirmado; para o aplicativo completo use Git manual, sem bancos, backups ou segredos.

Links oficiais e próximo passo

✦
SUA MISSÃO

Criar snapshot consistente, restaurar em outro arquivo e conferir conteúdo e integridade.

Agora é a sua vez

Oficina de descobertas

Decida antes de executar

Criar snapshot consistente, restaurar em outro arquivo e conferir conteúdo e integridade.
Monte suas respostas e confira quando estiver pronto.
Uma pausa para entender

Qual evidência sustenta uma recuperação verificada?

Preciso de uma pista

Existência não é recuperação. O teste precisa demonstrar que os dados esperados voltam sem destruir o presente.

Carregando sua jornada…

Leve com você

Faça o ensaio com dados fictícios, anotando antes/depois e o arquivo em uso. Tente um destino já existente e confirme que ele continua intacto. Explique onde guardaria uma cópia externa, sem publicar bancos no GitHub.

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.