Rails を 5.2.1 にアップデートしてみる

Gemfile で rails のバージョンを 5.2.1 に変更:

f:id:matt-note:20180924202434p:plain

$ bundle update を実行:

f:id:matt-note:20180924202618p:plain

Ruby Sass が非推奨になるとのメッセージが。Ruby ウェブフレームワークを使っている場合は、sassc を使ってくれとのこと:

f:id:matt-note:20180924202657p:plain

とりあえず、バージョンは 5.2.1 になった:

f:id:matt-note:20180924202905p:plain

Rails アップグレードガイドを参考に、$ rails app:update を実行。d で差分を見てから Y で上書きするか、n でスキップするか決めるとのこと。

なお、私は適当に Y を連打していたら、config/routes のデータが消えてしまいました。初期化した状態に上書きするのだなと、ここで知る。GitHub に差分があって助かった…

f:id:matt-note:20180924205012p:plain

あとは、config/locales/en.yml の内容もデフォルトに戻ってしまったので修正。config/application.rb の内容も初期値に戻ってしまったので修正。とりあえず、$ rails app:update をすると、config ディレクトリ内のファイルを多めに初期化するのだなと。とにかく、d で差分(diff)を見るの大事だなと。

なお、このままではサーバー起動時にエラーになるので、Gemfile に gem 'bootsnap' を記入して $ bundle を実行。

ActiveStorage を使いたいので、Gemfile に gem 'activestorage'  を記入して $ bundle を実行。

config/application.rb に require 'active_storage/engine' を追加:

f:id:matt-note:20180924211932p:plain

$ rails active_storage:install を実行して、$ rails db:migrate を実行:

f:id:matt-note:20180924212024p:plain

Active Storageは、アプリケーションのデータベースで active_storage_blobsactive_storage_attachmentsという名前の2つのテーブルを使用します。  

 

とにかく、これでアップデートできたはず。

f:id:matt-note:20180924211252p:plain

 

参考:

週刊Railsウォッチ(20180813)Rails 5.2.1リリース、sanitize_sql_arrayは5.2からpublicだった、Dev.toがRailsアプリのソースを公開ほか

Rails アップグレードガイド | Rails ガイド

Rails 5.1.5を5.2.0にアップデートする in Windows