狠狠撸

狠狠撸Share a Scribd company logo
小規模個人アプリをRails 7.xにバー
ジョンアップした話
Kazuhiro NISHIYAMA
Kyoto.rb Meetup
2023-11-27
Powered by Rabbit 3.0.3
self.introduction
西山 和広
Ruby のコミッター
github など: @znz
株式会社Ruby開発 www.ruby-dev.jp
1/16
対象
個人メモ用アプリ https://github.com/znz/memo-app-r
scaffold をちょっと改造した程度の機能のみ
ログイン、検索
位置情報 (これが欲しかったので自作)
(自分専用なので)メモ本文は生HTMLが書ける
Dokku にデプロイ
2/16
更新バージョン
Rail 6.1.7.6 → 7.0.8 → 7.1.2
Ruby 3.1.4 → 3.2.2
3/16
更新方法
以下のように新規作成したアプリと比較
docker run --rm -it ruby:3.1.4 /bin/bash
gem i rails -v '~> 7.0.0'
rails new /tmp/hoge --database=postgresql
4/16
新規と比較して更新
Gemfile
config/environments/*.rb
5/16
bin/rails app:update
bin/rails app:update で更新
Active Storage の migration などの不要なものは除外してマージ
6/16
decaffeinate
テストを実行しようとすると *.coffee があるとエラーになった
https://github.com/decaffeinate/decaffeinate
https://decaffeinate-project.org/
を使って *.coffee を変換
7/16
turbolinks
turbolinks も Gemfile から削除していたのでエラー
turbo に書き換え
app/assets/javascripts/application.js から
//= require turbolinks を削除
(turbo の追加は必要なかった)
8/16
警告対応
to_s(:delimited) → to_fs(:delimited)
9/16
assets:precompile 失敗
Dokku に deploy すると、なぜか rake assets:precompile でエ
ラー
-----> Preparing app for Rails asset pipeline
Running: rake assets:precompile
rake aborted!
LoadError: cannot load such file -- coffee_script
原因不明なので coffee-rails を Gemfile に戻した。
10/16
ruby も更新
ついでに ruby も 3.2.2 に更新
ruby file: ".ruby-version" はデプロイでエラー
ruby File.read(".ruby-version").chomp にした
11/16
new framework defaults
config.load_defaults 7.0 に更新
new_framework_defaults_7_0.rb を削除
デプロイするとログアウトしていたのでログインしなおし
12/16
7.1 に更新
以下と比較して Gemfile を更新
docker run --rm -it ruby:3.2.2 /bin/bash
gem i rails
rails new /tmp/hoge --database=postgresql
13/16
app:update
bin/rails app:update
Active Storage の migration は除外してマージ
14/16
デプロイ
テストも問題なく通るのでデプロイ
問題なく動いてそう
Rails 7.0 から 7.1 は Rails のバージョンを上げるだけならあっ
さりできた
15/16
今後
new_framework_defaults_7_1 はまだ未対応なので対応予定
JavaScript の位置情報取得部分もテストしたい
Rails 標準の minitest を試しているが、単純なテストのみなので
rspec と両方にしたい
bootstrap 4 のままなので、更新か他のものに移行したい
位置情報取得部分を jQuery から移行したい
coffee-rails は調査不足で原因不明のままだが sprockets を消
せば解決すると期待したい
16/16
Powered by Rabbit 3.0.3

More Related Content

Similar to 小規模個人アプリをRails 7.xにバージョンアップした話 (20)

Ruby on Rails3 Tutorial Chapter2
Ruby on Rails3 Tutorial Chapter2Ruby on Rails3 Tutorial Chapter2
Ruby on Rails3 Tutorial Chapter2
Sea Mountain
?
成長を加速する minne の技術基盤戦略
成長を加速する minne の技術基盤戦略成長を加速する minne の技術基盤戦略
成長を加速する minne の技術基盤戦略
Hiroshi SHIBATA
?
【BS2】.NET 6 最新アップデート
【BS2】.NET 6 最新アップデート【BS2】.NET 6 最新アップデート
【BS2】.NET 6 最新アップデート
日本マイクロソフト株式会社
?
Rails初心者レッスン lesson1 3rd edition
Rails初心者レッスン lesson1 3rd editionRails初心者レッスン lesson1 3rd edition
Rails初心者レッスン lesson1 3rd edition
Goh Matsumoto
?
ROS.js の紹介
ROS.js の紹介ROS.js の紹介
ROS.js の紹介
Honma Masashi
?
[RubyMotion LT] nitronに見るiosアプリ開発の未来
[RubyMotion LT] nitronに見るiosアプリ開発の未来[RubyMotion LT] nitronに見るiosアプリ開発の未来
[RubyMotion LT] nitronに見るiosアプリ開発の未来
Masahiro Nishimi
?
ロボットシステムのつくりかた ?Robot Operating Systemというアプローチ?
ロボットシステムのつくりかた ?Robot Operating Systemというアプローチ?ロボットシステムのつくりかた ?Robot Operating Systemというアプローチ?
ロボットシステムのつくりかた ?Robot Operating Systemというアプローチ?
Hideki Takase
?
Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法
Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法
Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法
Tokyo University of Science
?
纳品用搁翱厂机の手癖
纳品用搁翱厂机の手癖纳品用搁翱厂机の手癖
纳品用搁翱厂机の手癖
Kenta Yonekura
?
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
Saki Homma
?
Couch DB in 15minutes
Couch DB in 15minutesCouch DB in 15minutes
Couch DB in 15minutes
Yohei Sasaki
?
搁翱厂2.0时代に备えた肠++11/14
搁翱厂2.0时代に备えた肠++11/14搁翱厂2.0时代に备えた肠++11/14
搁翱厂2.0时代に备えた肠++11/14
Takashi Ogura
?
Open Shift v3 主要機能と内部構造のご紹介
Open Shift v3 主要機能と内部構造のご紹介Open Shift v3 主要機能と内部構造のご紹介
Open Shift v3 主要機能と内部構造のご紹介
Etsuji Nakai
?
120512 metro styleapp_javascript
120512 metro styleapp_javascript120512 metro styleapp_javascript
120512 metro styleapp_javascript
Takayoshi Tanaka
?
最近の谤耻产测のインストール方法
最近の谤耻产测のインストール方法最近の谤耻产测のインストール方法
最近の谤耻产测のインストール方法
Kazuhiro Nishiyama
?
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデート
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデートデモで楽しむ Visual Studio 2022 & .NET 6 最新アップデート
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデート
Akira Inoue
?
Ruby Enterprise Environment
Ruby Enterprise EnvironmentRuby Enterprise Environment
Ruby Enterprise Environment
Tomoya Kawanishi
?
私とRubyの付き合い方 - 岡山Ruby会議02
私とRubyの付き合い方 - 岡山Ruby会議02私とRubyの付き合い方 - 岡山Ruby会議02
私とRubyの付き合い方 - 岡山Ruby会議02
Masaya Konishi
?
Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!
Daisuke Hiraoka
?
Ruby on Rails3 Tutorial Chapter2
Ruby on Rails3 Tutorial Chapter2Ruby on Rails3 Tutorial Chapter2
Ruby on Rails3 Tutorial Chapter2
Sea Mountain
?
成長を加速する minne の技術基盤戦略
成長を加速する minne の技術基盤戦略成長を加速する minne の技術基盤戦略
成長を加速する minne の技術基盤戦略
Hiroshi SHIBATA
?
Rails初心者レッスン lesson1 3rd edition
Rails初心者レッスン lesson1 3rd editionRails初心者レッスン lesson1 3rd edition
Rails初心者レッスン lesson1 3rd edition
Goh Matsumoto
?
[RubyMotion LT] nitronに見るiosアプリ開発の未来
[RubyMotion LT] nitronに見るiosアプリ開発の未来[RubyMotion LT] nitronに見るiosアプリ開発の未来
[RubyMotion LT] nitronに見るiosアプリ開発の未来
Masahiro Nishimi
?
ロボットシステムのつくりかた ?Robot Operating Systemというアプローチ?
ロボットシステムのつくりかた ?Robot Operating Systemというアプローチ?ロボットシステムのつくりかた ?Robot Operating Systemというアプローチ?
ロボットシステムのつくりかた ?Robot Operating Systemというアプローチ?
Hideki Takase
?
Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法
Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法
Cloudy会 @cloudymeeting ハイブリッドクラウドとheroku/EC2決算法
Tokyo University of Science
?
纳品用搁翱厂机の手癖
纳品用搁翱厂机の手癖纳品用搁翱厂机の手癖
纳品用搁翱厂机の手癖
Kenta Yonekura
?
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
Saki Homma
?
Couch DB in 15minutes
Couch DB in 15minutesCouch DB in 15minutes
Couch DB in 15minutes
Yohei Sasaki
?
搁翱厂2.0时代に备えた肠++11/14
搁翱厂2.0时代に备えた肠++11/14搁翱厂2.0时代に备えた肠++11/14
搁翱厂2.0时代に备えた肠++11/14
Takashi Ogura
?
Open Shift v3 主要機能と内部構造のご紹介
Open Shift v3 主要機能と内部構造のご紹介Open Shift v3 主要機能と内部構造のご紹介
Open Shift v3 主要機能と内部構造のご紹介
Etsuji Nakai
?
120512 metro styleapp_javascript
120512 metro styleapp_javascript120512 metro styleapp_javascript
120512 metro styleapp_javascript
Takayoshi Tanaka
?
最近の谤耻产测のインストール方法
最近の谤耻产测のインストール方法最近の谤耻产测のインストール方法
最近の谤耻产测のインストール方法
Kazuhiro Nishiyama
?
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデート
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデートデモで楽しむ Visual Studio 2022 & .NET 6 最新アップデート
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデート
Akira Inoue
?
私とRubyの付き合い方 - 岡山Ruby会議02
私とRubyの付き合い方 - 岡山Ruby会議02私とRubyの付き合い方 - 岡山Ruby会議02
私とRubyの付き合い方 - 岡山Ruby会議02
Masaya Konishi
?
Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!
Daisuke Hiraoka
?

More from Kazuhiro Nishiyama (20)

Rubyの日本語リファレンスマニュアルの現在と未来 (松江Ruby会議11) 2024-10-05
Rubyの日本語リファレンスマニュアルの現在と未来 (松江Ruby会議11) 2024-10-05Rubyの日本語リファレンスマニュアルの現在と未来 (松江Ruby会議11) 2024-10-05
Rubyの日本語リファレンスマニュアルの現在と未来 (松江Ruby会議11) 2024-10-05
Kazuhiro Nishiyama
?
devise-two-factor gem を 4.x から 5.x に上げた話
devise-two-factor gem を 4.x から 5.x に上げた話devise-two-factor gem を 4.x から 5.x に上げた話
devise-two-factor gem を 4.x から 5.x に上げた話
Kazuhiro Nishiyama
?
Ubuntuのriscv64版をqemuで動かした at LILO&東海道らぐオフラインミーティング 2024-04-27
Ubuntuのriscv64版をqemuで動かした at LILO&東海道らぐオフラインミーティング 2024-04-27Ubuntuのriscv64版をqemuで動かした at LILO&東海道らぐオフラインミーティング 2024-04-27
Ubuntuのriscv64版をqemuで動かした at LILO&東海道らぐオフラインミーティング 2024-04-27
Kazuhiro Nishiyama
?
lilo.linux.or.jp を buster から bullseye に上げた
lilo.linux.or.jp を buster から bullseye に上げたlilo.linux.or.jp を buster から bullseye に上げた
lilo.linux.or.jp を buster から bullseye に上げた
Kazuhiro Nishiyama
?
Ruby リファレンスマニュアル改善計画 2022 進捗報告
Ruby リファレンスマニュアル改善計画 2022 進捗報告Ruby リファレンスマニュアル改善計画 2022 進捗報告
Ruby リファレンスマニュアル改善計画 2022 進捗報告
Kazuhiro Nishiyama
?
fukuoka03-rubima-reboot-rubyist-magazine-reboot.pdf
fukuoka03-rubima-reboot-rubyist-magazine-reboot.pdffukuoka03-rubima-reboot-rubyist-magazine-reboot.pdf
fukuoka03-rubima-reboot-rubyist-magazine-reboot.pdf
Kazuhiro Nishiyama
?
rubykaigi2022-rurema-history-and-future.pdf
rubykaigi2022-rurema-history-and-future.pdfrubykaigi2022-rurema-history-and-future.pdf
rubykaigi2022-rurema-history-and-future.pdf
Kazuhiro Nishiyama
?
辩别尘耻の谤颈蝉肠惫64に顿别产颈补苍を入れてみた
辩别尘耻の谤颈蝉肠惫64に顿别产颈补苍を入れてみた辩别尘耻の谤颈蝉肠惫64に顿别产颈补苍を入れてみた
辩别尘耻の谤颈蝉肠惫64に顿别产颈补苍を入れてみた
Kazuhiro Nishiyama
?
systemd 再入門
systemd 再入門systemd 再入門
systemd 再入門
Kazuhiro Nishiyama
?
Ruby 3.0.0 コネタ集
Ruby 3.0.0 コネタ集Ruby 3.0.0 コネタ集
Ruby 3.0.0 コネタ集
Kazuhiro Nishiyama
?
濒颈惫别诲辞辞谤天気础笔滨终了対応
濒颈惫别诲辞辞谤天気础笔滨终了対応濒颈惫别诲辞辞谤天気础笔滨终了対応
濒颈惫别诲辞辞谤天気础笔滨终了対応
Kazuhiro Nishiyama
?
Wireguard 実践入門
Wireguard 実践入門Wireguard 実践入門
Wireguard 実践入門
Kazuhiro Nishiyama
?
workflow,job,step の使い分けの基準を考える
workflow,job,step の使い分けの基準を考えるworkflow,job,step の使い分けの基準を考える
workflow,job,step の使い分けの基準を考える
Kazuhiro Nishiyama
?
あまり知られていない搁耻产测の便利机能
あまり知られていない搁耻产测の便利机能あまり知られていない搁耻产测の便利机能
あまり知られていない搁耻产测の便利机能
Kazuhiro Nishiyama
?
顿辞肠办别谤のオフィシャル谤耻产测イメージとは?
顿辞肠办别谤のオフィシャル谤耻产测イメージとは?顿辞肠办别谤のオフィシャル谤耻产测イメージとは?
顿辞肠办别谤のオフィシャル谤耻产测イメージとは?
Kazuhiro Nishiyama
?
チャットボットのススメ
チャットボットのススメチャットボットのススメ
チャットボットのススメ
Kazuhiro Nishiyama
?
Dokku の紹介
Dokku の紹介Dokku の紹介
Dokku の紹介
Kazuhiro Nishiyama
?
Action Cableで簡易チャットを作ってみた
Action Cableで簡易チャットを作ってみたAction Cableで簡易チャットを作ってみた
Action Cableで簡易チャットを作ってみた
Kazuhiro Nishiyama
?
Ruby svn to git
Ruby svn to gitRuby svn to git
Ruby svn to git
Kazuhiro Nishiyama
?
Ruby 2.6 Update
Ruby 2.6 UpdateRuby 2.6 Update
Ruby 2.6 Update
Kazuhiro Nishiyama
?
Rubyの日本語リファレンスマニュアルの現在と未来 (松江Ruby会議11) 2024-10-05
Rubyの日本語リファレンスマニュアルの現在と未来 (松江Ruby会議11) 2024-10-05Rubyの日本語リファレンスマニュアルの現在と未来 (松江Ruby会議11) 2024-10-05
Rubyの日本語リファレンスマニュアルの現在と未来 (松江Ruby会議11) 2024-10-05
Kazuhiro Nishiyama
?
devise-two-factor gem を 4.x から 5.x に上げた話
devise-two-factor gem を 4.x から 5.x に上げた話devise-two-factor gem を 4.x から 5.x に上げた話
devise-two-factor gem を 4.x から 5.x に上げた話
Kazuhiro Nishiyama
?
Ubuntuのriscv64版をqemuで動かした at LILO&東海道らぐオフラインミーティング 2024-04-27
Ubuntuのriscv64版をqemuで動かした at LILO&東海道らぐオフラインミーティング 2024-04-27Ubuntuのriscv64版をqemuで動かした at LILO&東海道らぐオフラインミーティング 2024-04-27
Ubuntuのriscv64版をqemuで動かした at LILO&東海道らぐオフラインミーティング 2024-04-27
Kazuhiro Nishiyama
?
lilo.linux.or.jp を buster から bullseye に上げた
lilo.linux.or.jp を buster から bullseye に上げたlilo.linux.or.jp を buster から bullseye に上げた
lilo.linux.or.jp を buster から bullseye に上げた
Kazuhiro Nishiyama
?
Ruby リファレンスマニュアル改善計画 2022 進捗報告
Ruby リファレンスマニュアル改善計画 2022 進捗報告Ruby リファレンスマニュアル改善計画 2022 進捗報告
Ruby リファレンスマニュアル改善計画 2022 進捗報告
Kazuhiro Nishiyama
?
fukuoka03-rubima-reboot-rubyist-magazine-reboot.pdf
fukuoka03-rubima-reboot-rubyist-magazine-reboot.pdffukuoka03-rubima-reboot-rubyist-magazine-reboot.pdf
fukuoka03-rubima-reboot-rubyist-magazine-reboot.pdf
Kazuhiro Nishiyama
?
rubykaigi2022-rurema-history-and-future.pdf
rubykaigi2022-rurema-history-and-future.pdfrubykaigi2022-rurema-history-and-future.pdf
rubykaigi2022-rurema-history-and-future.pdf
Kazuhiro Nishiyama
?
辩别尘耻の谤颈蝉肠惫64に顿别产颈补苍を入れてみた
辩别尘耻の谤颈蝉肠惫64に顿别产颈补苍を入れてみた辩别尘耻の谤颈蝉肠惫64に顿别产颈补苍を入れてみた
辩别尘耻の谤颈蝉肠惫64に顿别产颈补苍を入れてみた
Kazuhiro Nishiyama
?
濒颈惫别诲辞辞谤天気础笔滨终了対応
濒颈惫别诲辞辞谤天気础笔滨终了対応濒颈惫别诲辞辞谤天気础笔滨终了対応
濒颈惫别诲辞辞谤天気础笔滨终了対応
Kazuhiro Nishiyama
?
workflow,job,step の使い分けの基準を考える
workflow,job,step の使い分けの基準を考えるworkflow,job,step の使い分けの基準を考える
workflow,job,step の使い分けの基準を考える
Kazuhiro Nishiyama
?
あまり知られていない搁耻产测の便利机能
あまり知られていない搁耻产测の便利机能あまり知られていない搁耻产测の便利机能
あまり知られていない搁耻产测の便利机能
Kazuhiro Nishiyama
?
顿辞肠办别谤のオフィシャル谤耻产测イメージとは?
顿辞肠办别谤のオフィシャル谤耻产测イメージとは?顿辞肠办别谤のオフィシャル谤耻产测イメージとは?
顿辞肠办别谤のオフィシャル谤耻产测イメージとは?
Kazuhiro Nishiyama
?
チャットボットのススメ
チャットボットのススメチャットボットのススメ
チャットボットのススメ
Kazuhiro Nishiyama
?
Action Cableで簡易チャットを作ってみた
Action Cableで簡易チャットを作ってみたAction Cableで簡易チャットを作ってみた
Action Cableで簡易チャットを作ってみた
Kazuhiro Nishiyama
?

小規模個人アプリをRails 7.xにバージョンアップした話