## 結論 railsのバージョンを7.0.5以上に上げてから、pg 1.5 にバージョンを上げれば、警告の問題は発生しません。 ## 問題が発生したバージョン - ruby 3.2.2 (2023-03-30 revision e51014f9c0) [x86_64-linux] - rails (7.0.4.3) ## 問題を引き起こした作業内容 `bundle update`でpgのバージョンを1.4系から1.5系に上げた。 ## 発生した問題 `rails test`で以下のような警告が複数出るようになった。 ``` PG::Coder.new(hash) is deprecated. Please use keyword arguments instead! Called from /usr/local/bundle/gems/activerecord-7.0.4.3/lib/active_record/connection_adapters/postgresql_adapter.rb:980:in `new' ``` ## rails 7.0.5のリリース後に行った対処 `Gemfile`にて、pgは1.5以降、railsは7.0.5以降を使うように指定してから、`bundle update`コマンドを実行した。 その後で`rails test`を実行し、前述の警告が出ないことを確認した。 ## rails 7.0.5のリリース前に行った対処 `Gemfile`に以下のように記述して、利用するpgを1.4系に留めるように指定した。 ``` gem "pg", "~> 1.4.6" ``` ## rails本家の対応状況 - 4/24にissueが立った: https://github.com/rails/rails/issues/48046 - 4/25に修正がマージされた: https://github.com/rails/rails/pull/48048 - 5/25に修正が入ったv7.0.5がリリースされた: https://github.com/rails/rails/releases/tag/v7.0.5