How to plan Ruby on Rails upgrade
Table of Contents
When it is time to upgrade Ruby on Rails? #
One of the main reasons to upgrade is the end of Security Support for the Ruby on Rails version you use. This means all security issues found in the future will not be fixed for your app version. You can check your Ruby on Rails version support here.
Even if your version receives Security Updates you still need to perform an upgrade. Although, it is a much easier process.
Cloud providers’ tech stacks deprecation warnings are another reason to upgrade as soon as possible. To enforce you stay secure and use supportable software, some cloud providers like Heroku deprecate outdated tech stacks and ask you to upgrade.
If none of that is applicable to you, consider the following known wisdom.
Last, but not least. Old versions of Ruby on Rails can make your development team less productive. Framework developers spent years improving it and making it more and more efficient. It is a good idea to benefit from their efforts.
Technical risks #
As you decide to upgrade, pay attention to the following issues, which are considered to be the most common.
- Incompatible libraries.
- Deprecation of existing code.
- Change in existing code behavior.
- New infrastructure is required (Ruby, Postgres, Server, etc.).
- 3rd-party integrations stop working.
Business risks #
- Data loss. Major upgrades require database structure changes. This could lead to unexpected data loss.
Solution: backup all the data before an update
- Broken functionality. A major upgrade requires every existing feature to be tested.
Solution: write Unit Tests and perform regression testing
- Live site downtime.
Solution: warn users and prepare a rollback plan.
Upgrading #
Here is an example flow of the common Ruby on Rails upgrade.
Go Live #
Ready to go live? How to make it safely and without surprises? We suggest following the next approximate plan.
Read further about Upgrading Ruby on Rails apps in our Case studies.
We are ready to provide expert's help with your product
or build a new one from scratch for you!