KamoCRM

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?

Tutto questo arriva nel vostro spazio di lavoro da solo. Iniziare sul piano gratuito e leggere di nuovo questa pagina in un mese.

Inizia gratis per sempreVisualizza il prezzo