Widen settings.description to TEXT; run seeders in CI

The dualpath_single_machine setting description is 257 chars but
settings.description was varchar(255). On strict MySQL 8 an over-length
insert is a hard error 1406 (Data too long), so `flask seed settings`
failed on a fresh install; older/relaxed MySQL truncated silently and
hid it. Widen the column to TEXT (matches value, already TEXT) via core
migration 7d26.

CI only ran `flask db upgrade` + plugin install, never the seeders, so it
missed this. Add a seed step to the migrations-mysql job so a seeded row
that violates a column constraint fails CI on strict MySQL 8 instead of
shipping.
This commit is contained in:
cproudlock
2026-07-17 20:31:48 -04:00
parent 804c066de4
commit 83141bacb7
4 changed files with 73 additions and 3 deletions

View File

@@ -92,6 +92,15 @@ jobs:
flask plugin install "$p"
done
flask plugin upgrade-all
- name: Seed platform data (catches strict-mode data violations)
# Runs the real seeders on strict MySQL 8. A seeded row that exceeds a
# column width is a hard error 1406 here (not the silent truncation
# older/relaxed MySQL gives), so this is what catches over-length
# setting descriptions and similar before they reach a fresh box.
run: |
flask seed permissions
flask seed settings
flask seed reference-data
- name: Assert schema built + utf8mb4
run: |
python - <<'PY'