Vai al contenuto

Runbook: migrazione D1 straordinaria

Quando usarlo

Usare questo runbook soltanto quando il manifest contiene una pending extraordinary. Le migration expand appartengono al release workflow exact-commit e non usano un comando manuale separato.

Prerequisiti

  • una Issue operativa che possiede ambiente, exact SHA, migrazioni, finestra, compatibilità mixed-version, backup/time-travel, verifica e recovery;
  • CI verde e manifest immutabile;
  • ledger remoto riconciliato come prefisso esatto;
  • prova development completata prima di production;
  • nessuna operazione concorrente sul database;
  • un go corrente di Fra per l'intero piano.

Procedura

  1. Costruire dalla Issue un piano forward-only completo: expand compatibile, deploy, backfill/contract, verifica e recovery.
  2. Congelare l'exact commit e confrontare manifest, checksum e ledger.
  3. Verificare backup/time-travel e condizioni di recupero senza stampare evidenza privata.
  4. Eseguire soltanto le fasi e le superfici nominate dalla Issue.
  5. Dopo ogni apply rileggere d1_migrations; su esito ambiguo non ripetere il comando finché la rilettura non dimostra lo stato canonico.
  6. Verificare gli invarianti e chiudere la finestra soltanto su stato terminale completamente riconciliato.

Condizioni di stop

Fermarsi su ledger estraneo, duplicato o fuori ordine; checksum drift; prima prova remota in production; incompatibilità col vecchio codice; recovery non deterministico; evidenza ambigua; side effect fuori scope. Non usare SQL improvvisato o rollback distruttivo automatico.

Verifiche attese

Il ledger finale è l'esatto prefisso autorizzato, gli invarianti applicativi passano in sola lettura e nessuna fase fuori scope è stata eseguita.

Rollback o recupero

Non riscrivere una migration applicata e non tentare rollback schema automatici. Usare una nuova migration forward correttiva oppure la procedura di recovery espressamente posseduta dalla stessa Issue.

Evidenza da conservare

Conservare soltanto exact SHA, ambiente, file/checksum sicuri, prefisso e delta, esiti apply/verify e recovery readiness. Il piano ordinario continua a produrre una sola evidenza nel workflow summary.