feat: rollback automático do banco quando o deploy falha #26
Closed
jhony75
wants to merge 1 commit from
feature/deploy-db-rollback into develop
pull from: feature/deploy-db-rollback
merge into: jhony75:develop
jhony75:main
jhony75:develop
jhony75:chore/faster-pipeline
jhony75:fix/hubspot-auth-error-detail
jhony75:feature/validation-hubspot-tasks
jhony75:fix/validation-export-all-statuses
jhony75:feature/validation-hubspot-sync
jhony75:feature/validation-item-images
jhony75:feature/orchestration-runner-extensions
jhony75:feature/automation-run-metrics
jhony75:feature/eeg-frontend-separation-linked-requirements
jhony75:feature/object-storage-garage
jhony75:docs/junit-xml-import-decision
jhony75:feature/automation-contract-v1.2-multistep
jhony75:fix/storybook-frame-options
jhony75:feature/architecture-guardrails-contract-v1-1
jhony75:fix/backend-image-security-patches
jhony75:docs/automation-contract-followup
jhony75:feature/automation-contract-v1
jhony75:feat/authentik-forwardauth-ollama-network
jhony75:feature/audit-log-authentik
jhony75:feature/executive-panel-impact-analysis
jhony75:ci-parallel-image-builds-and-trivy-cache
jhony75:feature/custom-analytics-builder
jhony75:docs/end-to-end-usage-flow
jhony75:chore/storybook-dev-access
jhony75:feature/quality-intelligence
jhony75:fix/stale-get-cache
jhony75:feature/scenario-datasets
jhony75:feature/runner-orchestration
jhony75:feature/automation-discovery-ui
jhony75:ci-parallel-jobs-path-filter
jhony75:ci-actions-cache
jhony75:ci-speed-frontend-investigation
jhony75:chore/bruno-full-coverage
jhony75:feature/scenario-types
jhony75:feature/shared-steps
jhony75:feature/scenario-external-key-edit
jhony75:feature/design-system-badge-consistency
jhony75:perf/pytest-xdist-parallelism
jhony75:ci
jhony75:feature/generate-report-from-run
jhony75:feature/backend-test-fixture-speedup
jhony75:ci-speed-investigation
jhony75:feature/frontend-stabilization-pass
jhony75:feature/close-backend-outcome-automation-audit
jhony75:feature/dev-tools-demo-seed-data
jhony75:feature/design-system-gaps
jhony75:feature/frontend-ux-refactor-fase1
jhony75:feature/backlog-tecnico-fase1
jhony75:feature/combined-perf-quality
jhony75:feature/bdd-gherkin-steps
jhony75:feature/issue-first-class-and-score
jhony75:chore/react-router-7-upgrade
jhony75:feature/hubspot-card-sync
jhony75:perf/frontend-load-time
jhony75:feature/save-scenario-to-library-and-api-docs
jhony75:refactor/report-run-scenarios
jhony75:refactor/backend-core-modules
jhony75:docs/session-handoff-2026-08-25
jhony75:fix/technical-validation-pdf-layout
jhony75:fix/technical-validation-item-text-not-editable
jhony75:feature/report-run-step-link-and-clone-fix
jhony75:chore/add-development-deploy
jhony75:feature/validacao-tecnica-eeg
jhony75:codex/cicd-hardening
No reviewers
Labels
Clear labels
No items
No labels
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".
No due date set.
Dependencies
No dependencies set
Reference
jhony75/eeg-qa!26
Loading…
Reference in a new issue
No description provided.
Delete branch "feature/deploy-db-rollback"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
A pipeline vira a guardiã do status, não a memória de quem faz o deploy — zero contato humano no caso comum.
deploy-remote.sh: no rollback (mesmo trigger que já existia pra containers/imagens), agora também restaura o backup do SQLite feito antes do deploy, por cima do banco vivo, e remove-wal/-shmda tentativa quebrada antes de trocar o arquivo base — sem isso, WAL de um schema mais novo aplicado sobre o backup mais antigo corromperia o restore (o banco roda emjournal_mode=wal). Só sobra log deWARNINGpedindo intervenção manual se o próprio restore falhar.test-deploy-remote.sh(com e sem backup disponível) cobrindo o restore de arquivo de verdade (não só o rollback de compose que já era testado).scripts/generate-synthetic-data.py: gera banco sintético de qualquer tamanho — usei pra medir esse mecanismo sem precisar de acesso à VPS. Com ~43 MB (banco de produção real hoje é ~40 MB): drill estrutural em 0,66s, restore de arquivo em ~60ms. Camada de banco não é o gargalo de um rollback real.docs/DATABASE.md(mecanismo + números medidos) edocs/DEPLOYMENT.md.Pull request closed