Ruby on Rails 6.0.0バージョンアップの手順
▼リリースノート
現在の環境。
rails 5.2.3
ruby 2.5.3
※rails 6は、ruby 2.5以上が必要です。
▼手順
Gemfileで、
# Gemfile
gem "rails", "~> 5.2.3"
のところを
# Gemfile
gem "rails , "6.0.0"
に変更。
そのあと、
$ bundle update
なんか把握していな依存関係とかあったら面倒なので、全部アップデート。
アップデート完了したら、config/application.rbとmigrationファイルに記載されているrailsのバージョン情報を5.2から6.0へ変更する。
#config/application.rb
config.load_defaults 5.2
のところを
#config/application.rb
config.load_defaults 6.0
それぞれもmigrationファイルを
class CreateUsers < ActiveRecord::Migration[5.2]
# ~ 省略 ~
のところを
class CreateUsers < ActiveRecord::Migration[6.0]
# ~ 省略 ~
変更。
マイグレーションファイルを変更したので、ちゃんとマイグレートできるか確認。
$ rails db:migrate
DEPRECATION WARNING: Single arity template handlers are deprecated. Template handlers must
now accept two parameters, the view object and the source for the view object.
Change:
>> Coffee::Rails::TemplateHandler.call(template)
To:
>> Coffee::Rails::TemplateHandler.call(template, source)
・・・。ワーニング・・・。
なんぞ?と思ったら、coffee-railsのバージョンアップで解決するそう。
# Gemfile
gem 'coffee-rails', '~>4.2'
を
# Gemfile
gem 'coffee-rails', '5.0.0'
に変更で解決!やったね!
とりあえず、マイグレーションのワーニングは解決したので、次はコンソールからモデルが機能するか確認しましょう!
$ rails c
Running via Spring preloader in process 31880
Loading development environment (Rails 6.0.0)
Cannot read termcap database;
using dumb terminal settings.
irb(main):001:0>
あ?termcap データベースが読み込めないからターミナルをちゃんと設定しやがれと・・・。
色々調べたが、解決せんのでスルー。ターミナルの設定がどうのって話なのでアプリに関係なさそうだからね(知らんけど)。
いよいよ動作確認に移りましょう!
$ rails s
うん!ちゃんと起動しました!
これで、バージョン以降完了!
※注意事項
①バージョンアップしたことによって、色々と削除されたメソッドがあるので、ちゃんとリリースノートを読んで修正してください。
②本記事に掲載された内容によって生じた損害等の一切の責任を負いかねますので、ご了承ください。
サポートしていただけると、泣いて喜びます! 嬉しくて仕事をめちゃめちゃ頑張れます。