Rullst AcademyRullst Academy/Lição
Bancos de dados e SQL I · Lição 11 / 12

Salvar e testar a volta

Distinguir script, banco e backup; ensaiar mudança de esquema e restauração.

Trilhas de aprendizado18 min

Vamos descobrir juntos

  1. 1

    Um .sql guarda instruções; um .db SQLite guarda dados e esquema. GitHub com seu código não recebe automaticamente seu banco. Bancos com dados pessoais exigem cuidados próprios; aqui só usamos dados fictícios.

  2. 2

    Execute python lab.py snapshot. Ele cria uma pasta nova sql-recovery-..., original.db, backup.db e restored.db. Usa a API de backup SQLite, adiciona location e versão 2 ao original e restaura a cópia anterior em um arquivo separado.

  3. 3

    report.json confirma conteúdo, versão, integridade e FKs. A restauração volta à versão 1, sem a coluna posterior. Copiar um arquivo de banco em uso sem considerar estado e arquivos auxiliares não é o procedimento deste kit.

  4. 4

    Cópias no mesmo disco servem para ensaiar, mas não protegem contra perder o computador. Operação real precisa de cópia externa, retenção, controle de acesso e testes. Nunca ensaie por cima de um banco importante.

Sua bancada de dados

Nosso modelo: kits.id ← loans.kit_id. Um material pode ter vários empréstimos; nomes podem repetir. Só usamos dados fictícios.

Preveja antes de abrir a referência. Ela mostra o resultado verificado do exemplo original, não executa seu texto. Para executar suas alterações, use o kit no computador.

-- Salvar e testar a volta
BEGIN;
ALTER TABLE kits ADD COLUMN location TEXT NOT NULL DEFAULT 'shelf';
SELECT id, location FROM kits ORDER BY id;
ROLLBACK;
Comparar com o resultado de referência
[
  {
    "columns": [
      "id",
      "location"
    ],
    "rows": [
      [
        1,
        "shelf"
      ],
      [
        2,
        "shelf"
      ],
      [
        3,
        "shelf"
      ],
      [
        4,
        "shelf"
      ]
    ]
  }
]

No terminal da pasta extraída, execute o comando. Use python3 no macOS/Ubuntu ou py se esse for seu launcher no Windows. Cada execução começa em memória; leia README.md para salvar arquivos e ensaiar recuperação.

python lab.py run lesson.sql
Meus arquivos e GitHub

O editor guarda seu rascunho .sql neste navegador. Baixe a edição e substitua lesson.sql no kit; no projeto final, availability.sql. O ZIP continua sendo o modelo original. Publicar no GitHub envia apenas o arquivo confirmado, sem executar SQL ou enviar o banco.

Links oficiais e próximo passo

✦
SUA MISSÃO

Distinguir script, banco e backup; ensaiar mudança de esquema e restauração.

Agora é a sua vez

Oficina de descobertas

Leia, preveja e confira

Distinguir script, banco e backup; ensaiar mudança de esquema e restauração.
Monte suas respostas e confira quando estiver pronto.
Uma pausa para entender

O que demonstra recuperação?

Preciso de uma pista

Execute python lab.py snapshot. Ele cria uma pasta nova sql-recovery-..., original.db, backup.db e restored.db. Usa a API de backup SQLite, adiciona location e versão 2 ao original e restaura a cópia anterior em um arquivo separado.

Carregando sua jornada…

Leve com você

Execute snapshot e leia o relatório. Explique o que foi recuperado, o que não foi e onde manteria uma cópia externa fictícia.

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.