- Ya
- 13 Agosti 2026, 02:32 UTC
- Mwandishi
- Kamo
- Ahadi ya
- cdc1146
Mirrors four new nullable columns on the TimecardPunch entity. A void is neither a delete nor a correction: it says the punch should never have existed — a double tap on the clock, an abandoned break, or the seam between two spans the editor has merged into one. SUPERSEDED_BY_PUNCH_ID cannot express it, because that column means "read this other row instead" and there is no other row. All four are NULLABLE, which is what makes this safe on a populated table: CockroachDB rejects ADD COLUMN ... NOT NULL on a non-empty table and rolls the whole statement back, so a NOT NULL void marker would be logged as a WARN, skipped, and quietly absent. They go FIRST in this runner, ahead of the indexes and REVOKEs it already carries, for the reason @Order(0) exists: the moment shared-lib maps a column, every runner that loads the punch entity emits it in its SELECT, and a column-add ordered late never runs at all — an earlier reader dies on "column does not exist" and takes the initializer down with it. Run against 192.168.4.22:5433, all four applied.