Back to all articles
Product Jan 22, 2026 · 11 min read
How we deploy zero-downtime database migrations to a Part 11 validated environment
Validated environments and continuous deployment have a famously tense relationship. Here’s the engineering pattern we use to ship 4x per day without ever taking the platform offline.
Our customers run validated processes on Quays. Their auditors expect formal change control. Our engineers want to ship continuously. These goals appear incompatible. They’re not.
The expand-contract pattern, validated
- Phase 1 (expand): add new schema in a backwards-compatible way.
- Phase 2 (migrate): dual-write to old and new structures.
- Phase 3 (cutover): flip reads to new structure behind a feature flag.
- Phase 4 (contract): retire old structure once feature flag is 100%.
How this satisfies validation
Each phase is its own validated change package, with its own testing protocol and rollback. Customers see zero impact, auditors see complete documentation.
JV
Written by
Jorge Vega
VP Engineering