Brick Work

0018. A schema cutover: one pinned catalogue, a rehearsal from a prod backup, the clients in the window

Context

Prod moved from schema 3.3 to 4.0 with one migration (migrate4, design § 8). Its result depends on more than the code:

Prod is the maintainer's only copy of the collection, so a failed cutover has to be undone in minutes, with nothing lost.

Options considered

  1. Build the catalogue and migrate on prod during the window. This is one step fewer, but the result then differs from anything that was checked.
  2. Build the catalogue once, pin it, and rehearse the whole runbook on test from a prod backup before prod. The rehearsal includes the clients, the rollback and the go-forward.

Recommendation: 2.

Decision

Consequences

#115 (the cutover note), #114 (the rehearsal), design § 8; rasp-infra stack/brick-work/cutover-4.0.md; 0016, 0017.