How we upgrade a Rails application
A Rails upgrade isn't a leap: it's a series of small steps, each one verifiable and reversible.
-
Assessment
We review Ruby and Rails versions, dependencies, test coverage and use of deprecated features. The result is a report with the version path, the risks and an estimate.
-
Safety net
Before touching anything, we make sure the critical flows are covered by tests that run in continuous integration. If they're missing, we write them.
-
One version at a time
We move version by version, skipping none, and clear the deprecation warnings first. The application can run on the current version and the next one at the same time, so your team keeps shipping features while we move forward.
-
Dependencies
We update every gem and replace the ones that are no longer maintained. Ruby is upgraded at the pace each Rails version needs.
-
Rollout
Every step goes through a staging environment and reaches production gradually, with monitoring and a rollback plan.
-
Handover
We adopt the new version's defaults, document what was done and leave a plan to keep the application up to date.