What it is
A return to the previous working state when a new version or an operation goes wrong: an app update, a deploy, a payment, a database change.
How we use it
The OshaVPN updater on Windows rolls back the file replacement if it fails. In Tech Poly VPN, if the Marzban panel does not answer after a payment, the request goes back to pending and the discount is not burned. Where there are no migrations, as in the finance assistant, a version is rolled back from a database copy.
Where it helps a business
- An app update breaks off halfway, and the user must not be left with a broken program.
- A payment went through but the external system did not answer, and the customer must not be left without access.
- A new version of a site or bot turns out worse than the old one.
- A staff member makes an unfortunate change to the site settings.
How we use it
- Updates. The OshaVPN updater on Windows rolls back the file replacement if it fails.
- Payments. In Tech Poly VPN, if the Marzban panel does not answer after a payment, the request goes back to pending, and the discount is spent only after access has been issued.
- Site settings. On the packaging manufacturer's sites every settings save is remembered, and a "Restore as it was" button brings back the previous values.
- A version without migrations. The finance assistant has no database migrations, so a version is rolled back from a database copy, and this is listed among its limitations.
Common problems
- A rollback nobody has tried. A database copy that has never been restored from can let you down. We test restores on a separate database.
- Rolling back code but not data. An old version may not understand a database changed by the new one, which is why the schema changes step by step through migrations.
When you do not need it
Actions that break nothing need no separate rollback. It is mandatory where money, customer data and updates on users' devices are involved.