なるようになるブログ

読書感想文かrailsについてかrubyについてか

rails commit log流し読み(2023/09/13)

2023/09/13分のコミットです。

CHANGELOGにのったコミットは以下の通りです。

railties/CHANGELOG.md

activerecord/CHANGELOG.md


Fix inferred query constraints

activerecord/lib/active_record/reflection.rbの修正です。

query constraintsの定義からのassociatinoの推測処理が正しく動作しないことがあったのを修正しています。


dep: bump sqlite3 dependency

Gemfileの修正です。

1.6.4未満に固定していたsqlite3 gemのバージョン指定を、1.6.6以上の指定に変更しています。1.6.6sqlite 3.43.1でエラーになるバグが解消されているため。

参考: sqlite 3.43.0 AVG() is broken with respect to dealing with Infinities


Add Bun support (#49241)

rails newで新規にアプリケーションを作成する際に、JSのランタイムにBunを指定出来るよう修正しています。

rails new my_new_app --javascript=bun

上記でアプリケーションを作成した場合、Dockerfile内等でもBunが使われるようになります。


Revert "Merge pull request #49242 from eileencodes/fix-inferred-query-constraints"

query constraintsの定義からのassociatinoの推測処理が正しく動作しないことがあったのを修正した、Fix inferred query constraintsをRevertしています。CIが壊れてしまったため。


Merge pull request #49072 from ghiculescu/extend-queries-per-attribute

Active Recordの修正です。

Active Record Encryptionで暗号化されていないデータも扱えるようにするためのsupport_unencrypted_dataオプションを、カラム毎に指定出来るよう修正しています。これにより、config.active_record.encryption.support_unencrypted_dataにtrueが設定されている場合でも、特定のカラムは暗号化されているデータのみ扱う、ということが出来るようになっています。

class User < ActiveRecord::Base
  encrypts :name, deterministic: true, support_unencrypted_data: false
  encrypts :email, deterministic: true
end

Preparing for 7.1.0.beta1 release

コンポーネントのバージョンを7.1.0.beta1に更新しています。


Enable Minitest/LiteralAsActualArgument

Minitest/LiteralAsActualArgument copを有効化、及び、各ファイルにcopを適応しています。


Merge pull request #48216 from zzak/import-rails-bin-linter

RailsCHANGELOGやdocのチェックをするツールをまとめた、skipkayhil/rails-binrails/railsリポジトリにインポートしています。


Remove a redundant blank line from Gemfile of new app

railties/lib/rails/generators/rails/app/templates/Gemfile.ttの修正です。

rails newで新規にRailsアプリケーションを生成した際に、Gemfile内に不要な空行があったのを削除しています。


Don't pass active_record to derive_fk_query_constraints

activerecord/lib/active_record/reflection.rbの修正です。

derive_fk_query_constraintsメソッドの引数からklassを削除しています。accessorで保持している情報で、メソッドの引数で渡す必要が無いため。