Every fresh Mobilizon deploy on PostgreSQL 18 died in migration
20190806131306. Four migrations drop the integer id column, add a uuid id
without NOT NULL and declare it the primary key in the same ALTER TABLE.
PostgreSQL 18 rejects that with 42P16 "primary key column "id" is not
marked NOT NULL", PostgreSQL 17 accepted it. The container exited 1 and
restarted in a loop, in compose and in swarm.
Upstream fixed it for 5.3.0 by adding null: false to that line in the four
migrations. No published image carries the fix yet, so the role builds its
own image on top of the pinned upstream one and applies the same one-line
change to the same four files.
The build fails once a base image no longer contains the unfixed line and
names the migration, so the patch cannot outlive its reason unnoticed.
TODO.md lists what to delete then.
Closes#779
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>