2024/05/07分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
Add ENV["SKIP_TEST_DATABASE_TRUNCATE"] flag to speed up multi-process test runs (#51686)
activerecord/lib/active_record/tasks/database_tasks.rb
の修正です。
テスト用のDBのセットアップを行う際に、SKIP_TEST_DATABASE_TRUNCATE
ENVが設定されている場合、tableのtruncate処理を行わないよう修正しています。すべてのテストが同じtransactionで実行されていて、DBのクリーンアップが不要な場合にセットアップ処理の時間を短縮できるようにするため。
Explain that the default Dockerfile is intended for production
railties/lib/rails/generators/rails/app/templates/Dockerfile.tt
の修正です。
Dockerfile内に、このDockerfileはproductionで使う事を想定している旨コメントを追加しています。
Simplify ActiveRecord::Result#hash_rows
activerecord/lib/active_record/result.rb
の修正です。
ActiveRecord::Result#hash_rows
メソッドについて、不要な同じ名前のカラムに対する考慮などを削除し、実装がシンプルになるようリファクタリングしています。
Revise the autoloading guide for middleware and friends
rails guideのAutoloading and Reloading Constants
の修正です。
Use Case 2: During Boot, Load Code that Remains Cached
セクションに、Rack middlewareをlib
配下に格納した場合の対応についての説明を追加しています。
Reduce allocations in BelongsToAssociation#replace_keys
activerecord/lib/active_record/associations/belongs_to_association.rb
の修正です。
BelongsToAssociation#replace_keys
メソッドで、composite primary keysを使用していない場合でもcomposite primary keysの為のArrayを生成していたのを、composite primary keysを使用していない場合は不要なArrayの生成を行わないようリファクタリングしています。
Remove extraneous array wrapping
activerecord/lib/active_record/associations/belongs_to_association.rb
の修正です。
BelongsToAssociation#replace_keys
メソッドから、先のリファクタリングにより不要になったforeign_key
のArrayのwrap処理を削除しています。