You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Integrity check compares a cast-stripped default against the raw one — every converged migrate exits non-zero #97
One side of the comparison is normalised (cast stripped) and the other is not, so
they can never match for any defaultValue written with an explicit cast.
Impact
This is worse than cosmetic, because it destroys the exit code as a signal:
The migration applied correctly and the tool still exits non-zero. A fully converged
database does the same:
Schema is up to date — no operations needed
SCHEMA INTEGRITY CHECK FAILED
So an operator cannot distinguish "your migration failed" from "your migration worked
and the checker is comparing a string to itself", and no wrapper can gate on the exit
status. We hit this while diagnosing a real failure (#96) and had to read the log body
to tell the two apart.
Expected
Normalise both sides before comparing — parse the default to a value, or apply the
same cast-stripping to the value read from pg_attrdef that is applied to the schema
value. A converged database should exit 0.
Activity