Skip to content

Move lemon's MySQL from 8.4 to 9.7, the current LTS - #19

Merged
nklip merged 1 commit into
masterfrom
claude/focused-johnson-7n6j3f
Nov 2, 2026
Merged

nklip merged 1 commit into
masterfrom
claude/focused-johnson-7n6j3f

Conversation

@nklip

@nklip nklip commented Nov 2, 2026

Copy link
Copy Markdown
Owner

Summary

lemon's database moves from mysql:8.4 to mysql:9.7. The image's lts tag now points at 9.7, while 8.4 is the previous LTS line: still supported, so this is an upgrade rather than a fix.

Only two places name the version: the image in lemon/compose.yaml and the README's description of run.sh. A comment next to the image notes that an existing volume upgrades in place and can't be downgraded afterwards.

What developers will see

The first time make or run.sh starts MySQL on an existing local volume, the server upgrades the data in place. That takes a few seconds, and nothing needs doing. After that, the volume can't go back to 8.4. To start clean instead, run make -C lemon db-reset.

Test plan

  • Fresh volume (what CI does): MySQL 9.7.4 starts, and the suite passes 16 of 16 in 3 of 3 runs. The TCP healthcheck from Upgrade every dependency to its latest release, anthropic 2.x included #18 still holds --wait until the image's temporary setup server has stopped.
  • In-place upgrade:
    • On a volume created by MySQL 8.4.13, the first start under 9.7 logged Data dictionary upgrading from version '80300' to '90200' and Server upgrade from '80413' to '90704' completed, with no errors.
    • The volume kept its lemon database, and the suite passes on it.
  • make check from the repository root passes in all four projects (141 tests).

Generated by Claude Code

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 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PJbZcrXFYA1x2ppHdCG5uT
@nklip
nklip merged commit 8d3b0a4 into master Nov 2, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants