Upgrading SQLcl Versions With a Symlink Script

The habit I was trying to automate SQLcl updates break things sometimes. Not often, but often enough that I stopped overwriting the last version every time a new one shipped. For a while now my setup has looked like this: Every version I download lives in its own folder under ~/Applications, named after its build number. ~/Applications/sqlcl-latest is a symlink pointing at whichever version is active. ~/bin/sql is a symlink that goes through sqlcl-latest, not straight to a version folder. That last point is what makes rollback cheap. If a new release misbehaves, I repoint sqlcl-latest at an older folder and ~/bin/sql follows it automatically. No need to touch ~/bin/sql at all. ...

September 4, 2026 · 5 min · Tim St. Hilaire