- Spegnimento
- 19 agosto 2026 alle ore 07:54 UTC
- Autore
- Kamo
- Impegno
- cbad368
Specchi il nuovo campo `User.isFake`. Quattro dichiarazioni, e l'ordine è tutto migrazione: YugabyteDB rifiuta `ADD COLUMN ... NON NULL` su un tavolo popolato — rifiutando l'intera dichiarazione, non solo la clausola offesa — quindi la colonna arriva nullable, è ha riempito, guadagna il suo DEFAULT, e solo allora è serrato. Collassare questi in uno ALTER produce una migrazione che registra un avviso e lascia la colonna assente, che è uscita a forma di successo per un no-op totale. `@Order(0)` per la convenzione colonna-add. Nel momento in cui l'entità condivisa-lib mappa `is fake`, ogni secondo corridore che carica un `User` attraverso JPA lo emette nella sua SELECT, quindi una migrazione tardiva non sarebbe mai stata raggiunta — un corridore precedente muore su `column u1 0.is fake non esiste` e prende il primo down. L'indice è parziale (`WHERE is fake = TRUE`). La query calda della guardia è "che ids sono flagged", e su una tabella in cui in modo efficace ogni riga è FALSE un indice completo sulla colonna è peso morto mentre uno parziale detiene una manciata di voci. Il `WHERE is fake IS NULL` è portante, non decorazione: KamoInitializer corre in pieno ogni volta, e un nudo `UPDATE utenti SET is fake = FALSE` silenziosamente un-flag ogni conto che un operatore aveva volutamente nascosto, su ogni corsa. Un test afferma quella clausola è ancora lì. Applicato alla produzione 2026-08-19; tutte le cinque dichiarazioni registrate applicate, BUILD SUCCESS. Colonna verificata come `boolean NON NULL DEFAULT false` con l'indice parziale presente.