なるようになるブログ

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

rails commit log流し読み(2021/07/13)

2021/07/13分のコミットです。

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

activerecord/CHANGELOG.md


Log a warning when assertions are incorrectly nested and errors are raised

assertionsが不適切にnestされている、かつ、その状態でエラーが発生した場合に、assertionsを想定外の使いかたをしている事がわかるようなログを出力するよう修正しています。


Revert "Merge pull request #40445 from robertomiranda/destroy_all-in_batcches"

Relation#destroy_allでレコードをbatch処理で削除出来るよう修正した、ActiveRecord::Relation#destroy_all perform its work in batchesをRevertしています。戻り値が変わってしまう(元々は削除したレコードが戻り値だったが変更後はレコードが取得出来なかった)のが問題視されており、同じ戻り値が必要な場合にどうすべきかを先に明確にすべきだろう、という事でRevertされています。


Remove undefined ensure_zeitwerk_mode

railties/lib/rails/tasks/zeitwerk.rakeの修正です。

Removes unnecessary calls to zeitwerk_enabled?で削除されたensure_zeitwerk_modeを使用している箇所があったのを修正しています。


Fix spelling in compute_class warning

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

reflectionでclassに不正な値が指定されていた場合に出力するエラーメッセージのグラマーを修正しています。


Add docs for attr_readonly

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

attr_readonlyメソッドのdocにreadonly attributeを指定した場合の挙動についての説明を追加しています。


Add 'requirements' subsection to active storage guide

rails guideのActive Storage Overviewの修正です。

Active Storageが使用しちえるライブラリについて説明したrequirementsセクションを追加しています。


Merge pull request #42760 from ghiculescu/patch-4

activerecord/CHANGELOG.mdの修正です。

fixtures load時にforeign keyのverifyを行うよう対応した、Verify foreign keys after loading fixturesの対応についてCHANGELOGにエントリーを追加しています。


Merge pull request #42756 from tywhang/more_accurate_error_for_missing_file_changelog_entry

actionview/CHANGELOG.mdの修正です。

renderfileオプションに存在しないファイルの絶対パスを指定した場合のエラーメッセージを改善した、Handle error when file does not exist at filepathの対応についてCHANGELOGにエントリーを追加しています。


Disable Active Record partial_inserts by default in Rails 7.0

railties/lib/rails/application/configuration.rbの修正です。

partial_insertsをnew appsではデフォルトdisableにするよう修正しています。元々はDBのカラムを安全に削除する(実行中のプロセスがカラムが無くなってエラーになるのを避ける)為の仕組みだったのですが、現在はignored_columnsを使って削除前にカラムを明示的に無効化する方がより安全に削除処理を行え、partial_insertsを使う必要は無い筈の為。


[ci-skip] typo fix in activerecord changelog

activerecord/CHANGELOG.mdの修正です。

各エントリーのタイポを修正しています。


Define adapter type maps statically when possible

Active Recordの修正です。

adapterのtype mapsがconnection毎に動的に生成していたのを、可能な限り静的に定義して、connection間で同じ値を参照するよう修正しています。type mapsの数が多くメモリを消費していたのと、MySQLとSQLite3ではtype mapsが動的に変わる事はなく、静的に定義しても問題無い為。


Add an entry for active_record.partial_inserts in new_framework_defaults

railties/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_7_0.rb.ttの修正です。

active_record.partial_insertsをデフォルトdisableにする対応をnew_framework_defaults_7_0.rbにも追加しています。