はじめに

現在担当のプロジェクトにおいて Rails のアップグレードを行ったので、備忘録。

参考記事

公式ドキュメントに勝るものはないので、基本的にはアップグレードガイドを参考にした。

Railsガイドにはマイナーバージョンごとに変更点や追加機能がとても詳細に記載されているので、必読。

更に詳しく知りたい場合、今回であれば ActiveStorage 関連の変更がそこそこあったので、CHANGELOG も併せて読むことで変更点を整理した。

公式ではないが、チェリー本で有名な伊藤淳一さんのQiita記事も簡潔にまとまっており、参考にした。

手順

各手順を実施後にテストが失敗したり、新たな警告が出る場合は修正コミットを積む。次の手順への移行前に必ず実際に動かしてみる。(原因を切り分けるため)

  1. テストが全てパスすることを確認。
  1. bundle update -g development -g test で gem のパージョンを最新にする。
  1. bundle update で Rails 以外の gem を最新にする
  1. Rails のパッチバージョンを上げる。テストがパスすることの確認。
  1. 次のマイナーバージョンの最新パッチに移行。
  1. rails app:update を実行。
Overwrite /project/config/application.rb? (enter "h" for help) [Ynaqdh]
  1. 最後に開発環境・デモ環境で動作確認。できれば複数人にレビューを受ける。

最後に

フレームワークやパッケージのアップグレードは優先度がそこまで高く見積もられない傾向にあるが、プロダクトを継続的に改善していく上では避けて通れないし、早めに取り組んだほう受ける恩恵も多いだろうなと実感した。