Backup e Restauração
O banco de dados principal do Neemias roda sobre Cloudflare D1, que oferece backups automáticos gerenciados pela plataforma. O D1 realiza snapshots pontuais (point-in-time snapshots) que permitem restaurar o banco para qualquer momento dentro da janela de retenção configurada. Esses backups são totalmente gerenciados — não exigem intervenção manual nem configuração adicional de cron jobs.
A política de backup está formalizada na ADR-0010, que estabelece a frequência e retenção dos snapshots. O D1 retém backups diários automáticos e mantém cópias semanais para recuperação de longo prazo. Em caso de falha ou corrupção, é possível restaurar o banco para o estado exato de qualquer snapshot dentro do período de retenção, diretamente pelo dashboard da Cloudflare ou via API.
Para cenários que exigem exportação manual — como migração entre ambientes, auditoria externa ou backup offline — o Wrangler CLI oferece o comando wrangler d1 export. Esse comando gera um arquivo SQL completo com o schema e os dados do banco, que pode ser versionado, compartilhado ou armazenado como backup adicional:
wrangler d1 export neemias-db --output backup.sqlA restauração a partir de um arquivo SQL é feita com o comando wrangler d1 execute, que aplica o dump diretamente no banco de destino:
wrangler d1 execute neemias-db --file=backup.sqlÉ importante observar que a restauração via execute --file é uma operação destrutiva: o conteúdo do arquivo SQL é executado sobre o estado atual do banco. Recomenda-se executar esse procedimento apenas em ambientes de desenvolvimento ou staging, ou após confirmação de que o banco de produção está íntegro (snapshot prévio). Para restaurações em produção, prefira o mecanismo de point-in-time recovery do dashboard da Cloudflare, que é atômico e reversível.
O backup automatizado do D1 cobre exclusivamente o banco de dados do Worker. Os dados armazenados no IndexedDB do frontend (modo offline) são efêmeros e sincronizados com o servidor assim que a conectividade é restabelecida — portanto, o backup do D1 é suficiente para garantir a integridade completa dos dados da aplicação.
⚠️ Seção em expansão.
Fonte: ADR-0010 — wrangler d1 docs