Aggiungere denial reason, e spazzare i tre nomi di stato in pensione

FeatureInitializerService
Spegnimento
6 settembre 2026 alle ore 07:08 UTC
Autore
Kamo
Impegno
879e1a9

status name detiene un NAME letto indietro tramite @Enumerated(STRING), quindi una riga ancora dicendo TRIAGED dopo che la costante è andata non legge come un default — getta `No enum costanti` e abbatte ogni query che tocca la riga, il file lista inclusa. Questo è il fallimento che il nome-over-ordinal decisione ha scambiato per: uno strizzacervelli ordinale è silenzioso, uno strizzasi di nome è forte. La spazzata corre dopo il riempimento ordinale, che è storia congelata e ancora mappe la colonna in piedi — riscrivendo che il backfill per saltare i tre sarebbe silenziosamente riclassificare le righe su qualsiasi database che non l'ha ancora eseguito. TRIAGED e CANNOT REPRODUCE entrambi significavano lavoro aperto, così entrambi atterrare su NUOVO dove qualcuno vedrà loro di nuovo; AWAITING INFO fa anche, poiché NEW è lo stato che riapre il la finestra di modifica del reporter, che è quello che lo stato esisteva. La spedizione copia dell'audit va a NULL invece — quella colonna registra ciò che un operatore CHOSE, e null significa già "hanno lasciato lo status da solo", che è più vicino alla verità che pretendere che hanno scelto uno che non esiste più. denial reason è nullable TEXT senza default. A differenza di quanto pubblicato, nessun default è necessario per ALTER per avere successo su un tavolo popolato: Postgres rifiuta solo ADD COLUMN senza uno quando la colonna non è NULL. Applicato a mano al database live, che ha tenuto zero righe in tutti e tre gli stati. Le dichiarazioni nave comunque — "non c'era nessuno quando ho guardato" non è una proprietà un la migrazione può contare su.

Tutte le modifiche

Come quello che vedi la spedizione?

Ognuno di questi aggiornamenti atterra automaticamente nello spazio di lavoro. Inizia gratis e guardalo crescere settimana dopo settimana.

Inizia gratis per sempreVisualizza il prezzo