Gettare i vincoli di CHECK ordinario congelati gelare Hibernate a creare

FixInitializerService
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.

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