Skip to main content
Kill -9 Club
Sign in

rollback

Deployment

Pointing current back at a release still on disk, then restarting the service: ln -sfn /var/www/example.com/releases/2026-08-01T09-12-03 /var/www/example.com/current, then systemctl restart example-api. Two commands, the same two as the deployment, with the other target. Rebuilding from an older commit is not a rollback: it runs the dependencies, the toolchain and the clock through a path nobody has tested. And the switch back does not return the system to its previous state, only the code. A migration the new version applied stays applied: if it dropped a column, the old code comes back to a schema that is no longer its own and fails where it reads that column. shared/ is in no release. Nor are browser caches: a cached index.html asks for hashed files the previous release never contained. Hence the rule — a destructive migration and the code that depends on it do not ship together.

Also written: roll back, reverse switch