なるようになるブログ

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

rails commit log流し読み(2024/05/07)

2024/05/07分のコミットです。

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

activerecord/CHANGELOG.md


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処理を削除しています。