From a4921e7f7f7dc710e787487823c54f1685c17398 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 2 Nov 2026 07:54:35 +0000 Subject: [PATCH] move lemon's MySQL from 8.4 to 9.7, the current LTS The mysql image's lts tag now points at 9.7; 8.4 is the previous LTS line, still supported, so this is an upgrade rather than a fix. Only the compose image and the README's description of run.sh name the version. A fresh volume, which is every CI run, starts 9.7.4 and the suite passes 16 of 16 in 3 of 3 runs; the TCP healthcheck still holds `--wait` until the image's temporary init server has stopped. An existing volume upgrades in place on its first start under 9.7: the volume this was tested on, initialised by 8.4.13, logged its data dictionary upgrading from 80300 to 90200 and the server from 80413 to 90704 with no errors, kept its lemon database, and passed the suite. MySQL cannot downgrade such a volume, so compose.yaml says so beside the image. `make check` passes in all four projects. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01PJbZcrXFYA1x2ppHdCG5uT --- lemon/README.md | 2 +- lemon/compose.yaml | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/lemon/README.md b/lemon/README.md index b06fa51..c66cc9b 100644 --- a/lemon/README.md +++ b/lemon/README.md @@ -105,7 +105,7 @@ The launcher: 1. Verifies that uv and Docker are available. 2. Creates `.env` from `.env.example` if it is missing. 3. Syncs `lemon/.venv` against `pyproject.toml`. -4. Starts the MySQL 8.4 LTS container and waits for it to become healthy. +4. Starts the MySQL 9.7 LTS container and waits for it to become healthy. 5. Applies Django database migrations. 6. Loads sample categories, cuisines, and meals when the meal table is empty. 7. Starts the Django development server. diff --git a/lemon/compose.yaml b/lemon/compose.yaml index 68debbf..8cce5c3 100644 --- a/lemon/compose.yaml +++ b/lemon/compose.yaml @@ -1,6 +1,8 @@ services: mysql: - image: mysql:8.4 + # The current LTS line. An existing 8.4 data volume upgrades in place on the + # first start; MySQL cannot downgrade it back to 8.4 afterwards. + image: mysql:9.7 environment: MYSQL_DATABASE: ${MYSQL_DATABASE:-lemon} MYSQL_PASSWORD: ${MYSQL_PASSWORD:-mysql_fid}