この記事では、Railsをバージョンアップ(アップグレード)する方法を説明します。 バージョン5.2から6.0にアップグレードする手順を例にとって説明しています。
テストや確認の工程などは省き、なるべくシンプルな内容にしています。
Gemを最新状態にアップグレードする
Railsのアップグレードの前に、使用しているGemを最新状態にアップグレードしておきます。 こうすることによりアップグレード作業がスムーズになります。
bundle update
Railsのバージョンを上げる
Gemfileに記載されているRailsのバージョンを書き換えます。
gem 'rails', '~> 5.2.0' ↓ gem 'rails', '~> 6.0.0'
その後、Rails本体および関連Gemを含めアップグレードを実行します。
bundle update
rails app:updateタスクを実行する
bundle updateが正常に完了したら、下記のコマンドを実行します。
rails app:update
対話形式で設定ファイルを上書きするかどうか聞かれますので、ひとまず全てY
で上書きします。
上書きが完了したら、ファイルの差分を一つずつチェックします。旧ファイルで必要な設定を適宜反映させて設定ファイルの内容を確定させます。
なお、Rails6.0にアップグレードする場合は、新たにmigrationファイルも生成されますので、rails db:migrateタスクも実行する必要があります。
rails db:migrete
古いバージョンとの差分を確認する
この状態で一旦railsを起動させて、動作確認をします。
動作確認に問題なければapplication.rbの以下の項目を変更します。
config.load_defaults 5.2 ↓ config.load_defaults 6.0
また、新たに作成されたnew_framework_defaults_6_0.rbというファイルも不要ですので削除します。
最終確認
上記書き換え後に再度動作確認をします。問題なければアップグレード作業はこれで完了になります。
当記事では最低限の作業のみ記載しておりますが、RSpecで問題なくテストがパスするか、DEPRECATIONメッセージが出力されていないか、ステージング環境で問題なく動作するか等の作業が発生します。
また、バージョンによっては独自の作業が必要な場合もありますので、必ずRails アップグレードガイド等の内容もチェックすることをオススメします。