Herokuを使ってRails 8のアプリを運用するときに手始めに試されるであろうGetting Started on Heroku with Rails 8.xですが、「Last updated November 13, 2024」の版では、heroku run rake db:migrateのところでエラーが出ます。
- # Log to STDOUT by default
- config.logger = ActiveSupport::Logger.new(STDOUT)
- .tap { |logger| logger.formatter = Logger::Formatter.new }
- .then { |logger| ActiveSupport::TaggedLogging.new(logger) }
-
- # Prepend all log lines with the following tags.
+ # Log to STDOUT with the current request id as a default log tag.
config.log_tags = [ :request_id ]
+ config.logger = ActiveSupport::TaggedLogging.logger(STDOUT)
Shinjuku.rb #97 「個人開発発表 LT大会!」
小林悟史さんの発表スライドの情報を追記しました。
Shinjuku.rb #97 「個人開発発表 LT大会!」
[お知らせ]こちらのまとめに追加して欲しい内容があるなど、ご要望等ございましたら、下の所からのコメントやX(旧Twitter)などでお気軽にお伝えください。
Connpass: https://shinjukurb.connpass.com/event/342412/
それぞれのLTなどについての簡単な記録です。
開始前
新宿のIBJにて
はじめに
スポンサーLT:IBJ様
hamachan「Ruby型推論は楽しいぞ!」
チャー「収益を出すための個人開発」
Wakairo「PmRails」
スライド: https://speakerdeck.com/wakairo/pmrails
Koji NAKAMURA「Add-on を作って学ぶ Ruby LSP」
スライド: https://speakerdeck.com/kozy4324/ge-ren-kai-fa-fa-biao-lt-shinjuku-dot-rb-number-97
yoshihisasan「Chrome拡張」
小林悟史(小林ノエル)「政治資金データベース」
発表スライド: https://www.docswell.com/s/free_world21/59V2RJ-2025-02-05-132943
s.mototsune「爆速アプリ開発」
発表資料: https://blog.saeki-mototsune.com/articles/1
yamataka22「プロジェクトタスク管理ツール」
Solid Queueとアプリで同じDBを使う時の注意点と設定
公式READMEでは、Solid Queueとアプリで同じデータベースを利用することは可能だがいくつか注意点があると記されており、問題をさけるための設定として以下が紹介されています。
また、インストールにおいても単一データベース用にいくつか作業が必要になります。
なお、本件に関する日本語情報としては、Rails Guidesの日本語版に概要の記述があります。
「Getting Started on Heroku with Rails 8.x」が「db:migrate」でエラーになる
Herokuを使ってRails 8のアプリを運用するときに手始めに試されるであろうGetting Started on Heroku with Rails 8.xですが、「Last updated November 13, 2024」の版では、
heroku run rake db:migrate
のところでエラーが出ます。原因は、Rails 8のデフォルトの新規アプリでは、Solid CacheとSolid Queue、Solid Cableが有効になっており、これら3つの機能はそれぞれデータベースを1つずつ必要とするところにあると思われます。 もう少し詳しく言うと、Rails 7まではアプリ本体の情報を記録するprimaryデータベース1つを用意してそのデータベースへの接続設定を行うだけで良かったところが、 Rails 8からはprimaryデータベースに加えて前述の3つの機能用にそれぞれデータベースを用意して設定しないといけなくなってしまっているのに、 渦中のGetting Startedにはそれに対応する作業の記述がないため、マイグレーションでエラーが出ているものと思われます。
新規リリースに伴うRailsガイドの更新の情報
Rails 8.0.1のリリースに伴い、Railsガイドが更新されました。更新内容は、Railsガイド公式による以下の記事をご参照ください。
PmRails 1.0をリリースしました。
PmRails 1.0.0をリリースしました。
PmRailsは、Ruby on Railsのアプリケーションのテストまたは開発をするためのツールセットです。 RailsやRailsが依存するものをローカル環境にインストールすることなく使用できます。 Podmanを活用し、Railsプロジェクトのための隔離されたコンテナ環境を作成します。
ご不明な点や質問などございましたら、このTopicにお気軽にお寄せ下さい。できる範囲で回答いたします。
Rails 8.0の新機能に対応するRails guidesのページ
Rails 8.0で導入された新機能に関して記述しているRails guidesのページを以下にまとめました。
rails generate authentication
: https://guides.rubyonrails.org/security.html#authenticationなお、Solid Cableの記述がRails guidesのどこにあるかは分かりませんでした。
ちなみに、GitHubのレポジトリは以下の通りで、そのREADME等からも情報を得られます。
Podmanを利用して、簡単にローカルでRailsガイドの編集内容を確認する方法
RailsガイドのPull Requestは編集後の生成結果を確認せずに送って良いそうですが、 送る前に確認している方に向けて、Podmanを利用して簡単にローカルでRailsガイドの編集内容を確認する方法のご紹介です。
メインとなるのは、以下の1行のコマンドです。毎回コピペしても良いのですが、長いのでエイリアスを貼ったり、PATHの通った場所にこのコマンドのシェルスクリプトを置いても良いと思います。
環境構築
必要になるのはシェルスクリプトを実行できる環境とPodmanのみです。 Podmanのインストールに関してはPodmanの公式インストールガイドをご覧ください。 ちなみにUbuntuなど多くのLinuxディストリビューションでは、aptなどの標準パッケージ管理ツールでPodmanのインストールが可能です。
Podmanを利用して、簡単にローカルでRailsガイドの編集内容を確認する具体的な方法
Podmanがインストールできていれば、以下の手順でRailsガイドの編集と確認が行えます。
/guides/source/ja
内の Markdown ファイルを編集する動作不良が起きた等でgemを全て削除したいとき
ちなみに、上述の1行コマンドは
vendor/bundle/
にgemをインストールします。 Rubyのバージョンが変わって動作不良が起きた際などは、rm -rf vendor/bundle/
でgemを全て削除して綺麗な状態にすることが出来ます。新規リリースに伴うRailsガイドの更新の情報
Rails 8.0のリリースに伴い、Railsガイドが更新されました。更新内容は、Railsガイド公式による以下の記事をご参照ください。
rails 7.2からrails 8.0への移行(アップデート、アップグレード)で必要な作業
Rails 8.0におけるlogger
config.logger
は、Railsアプリで用いるロガーの設定です。rails new
で生成されるconfig/environments/production.rbにおいて、 8.0からこの設定について以下の変更が行われました(この変更のPRその1とPRその2)。この変更により、Kamralを用いたproduction環境ではタイムスタンプが二重に表示されなくなります。既存アプリでも、production環境でタイムスタンプが二重になっている場合には、この変更を行ってタイムスタンプが1つになるようにすると良いかもしれません。