- Spegnimento
- 25 agosto 2026 alle ore 18:14 UTC
- Autore
- Kamo
- Impegno
- 8ed40d7
Hibernate scrive CHECK (col >= 0 E col <= N) su un @Enumerated (ORDINAL) colonna a TABELLA CRETA, dove N è il più alto ordinale che esisteva giorno, e ddl-auto: l'aggiornamento non lo rivisita mai. Il giorno in cui qualcuno aggiunge un valore enum, ogni inserto che trasporta il nuovo ordinale viene respinto — e perché la dichiarazione di fallimento è di solito all'interno di un metodo @Transactional, il rollback rimuove le prove e la caratteristica semplicemente non fa nulla. Due di questi erano già pieni e già rompendo le cose, trovati mentre controllare se la EHR potrebbe riutilizzare il responsabile del documento piuttosto che costruire un secondo: - I cinque controlli ImageAssocType consentono 0-13. L'enum raggiunse l'ordinazione 15 Qualche tempo fa. PICTURE FRAME e SYSTEM BUG SCREENSHOT non può hanno una cartella, un tipo di documento, un ordine di stacking, una configurazione assoc o un legante Oggi. Niente lo riferisce; la riga non appare mai. - img dats server mime check permette 0-35 e ImageMimeType aveva esattamente 36 valori — un nuovo tipo di mime lontano da rifiutare ogni upload di quel tipo. Un secondo vincolo più ampio (check server mime, 0-99) già seduto sulla stessa colonna, quindi quella stretta era pura responsabilità: il controllo più stretto vince sempre. img dats age req typeid check era anche esattamente pieno nove valori contro 0-8. Gettato piuttosto che allargato, per la regola in piedi. Widening compra esattamente un altro valore enum e poi riproduce lo stesso fallimento, con una migrazione in mezzo che tutti crederanno risolto. La gamma non fa rispettare nulla vale la pena avere: l'applicazione mappa queste colonne attraverso l'enum entrambi i modi, quindi un valore out-of-range non può provenire dall'applicazione, e uno scritto fuori è un bug il controllo si converte in un silenzio fallimento invece di un errore qualcuno vede.