Parent
Spec: #329.
What to build
The documentation that makes the remaining sharp edge a known edge instead of a production surprise. The auto-migrate docs state loudly that plain auto_migrate never evolves existing objects — enum types included — and that this particular gap is structurally invisible to tests, because fresh schemas always get the complete label set (#328's core finding). migrate_updates=True is documented as the answer, with the label-addition contract spelled out: append-only, warn-never-act for removals, the reviewed-migration exit, and the end-of-order caveat for ORDER BY on enum columns. The Alembic page documents the comparator's behavior.
Examples follow house rules: every field declaration shown in both Assignment and Annotated styles; queries use lambda predicates.
Acceptance criteria
Blocked by
Parent
Spec: #329.
What to build
The documentation that makes the remaining sharp edge a known edge instead of a production surprise. The auto-migrate docs state loudly that plain
auto_migratenever evolves existing objects — enum types included — and that this particular gap is structurally invisible to tests, because fresh schemas always get the complete label set (#328's core finding).migrate_updates=Trueis documented as the answer, with the label-addition contract spelled out: append-only, warn-never-act for removals, the reviewed-migration exit, and the end-of-order caveat forORDER BYon enum columns. The Alembic page documents the comparator's behavior.Examples follow house rules: every field declaration shown in both Assignment and Annotated styles; queries use lambda predicates.
Acceptance criteria
Blocked by