Upgrade One Version

# Begin from a clean, passing application.
git status --short
<documented-migration-command> # apply pending migrations from the old version
go test ./...
go vet ./...

# Preview and apply only the immediate next released version.
lazy upgrade --dry-run
lazy upgrade

# Inspect migrations and newly synchronized conventions before repairing code.
git status --short
git diff

# Apply migrations introduced by the new version before testing.
<documented-migration-command>

# Run the complete application gate after all repairs.
lazy routes
go test ./...
go test -race ./...
go vet ./...
mkdir -p .tmp
go build -o .tmp/app ./cmd/app

# Commit this version before starting another.
git diff --check
git add <only-this-upgrade-step>
git diff --cached
git commit -m "upgrade: golazy <from> to <to>" \
  -m "Migrations before: <command and result, none pending, or not configured>" \
  -m "Migrations after: <command and result, none pending, or not configured>"

Do not use one multi-version --target command for this workflow. Resolve conflicts and changed application patterns in the current version, rerun all affected migrations and tests, and commit the working step before repeating lazy upgrade. A missing migration mechanism must be recorded explicitly; an unavailable database or failed migration is a blocker, not “no migrations.”

SEE OTHERS: Upgrade Guide | Default Skills