2022/09/28分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
- Allow any ERB in the database.yml when creating rake tasks.
- Add configurable formatter on query log tags to support sqlcommenter.
activestorage/CHANGELOG.md
Facilitate use of any regular ERB in database.yml
Active Record、railtiesの修正です。
複数DB用のtaskをロードする際にdatabase.ymlをERBのパース無しで読み込むようになっていた(ダミー文字列を使用するようになっていた)のですが、それだとYAMLのkeyにERBを使用している場合(e.g. shard_<%= i %>:)にYAMLのパースエラーになってしまう為、ERBのパースを行うよう処理を戻しています。このパースをしないようにした対応は、そもそもdatabase.ymlでenvに依存した値を定義している場合にエラーになってしまう、という問題があった為対応が行われたのですが、こちらは、定義されていない値の参照があった場合にエラーにならないよう修正する事で対応されています。合わせて、この対応により不要になったconfig.active_record.suppress_multiple_database_warningをdeprecatedにしています。
Fix incorrect error class for raise_on_open_redirects in guide
rails guideのConfiguring Rails Applicationsの修正です。
config.action_controller.raise_on_open_redirectsを指定する場合に発生するエラークラスが、実際にraiseするクラスと異なっていたのを修正しています。
Merge pull request #45837 from hahmed/ha/active-storage-fix-rotation-test-failing
activestorage/lib/active_storage/analyzer/video_analyzer.rbの修正です。
FFmpeg v5.0+ を使用している場合に、rotation値が正しく取得出来ないバグがあったのを修正しています。
Merge pull request #45628 from asavageiv/alan/fix-lock-documentation [ci-skip]
activerecord/lib/active_record/locking/pessimistic.rbのdocの修正です。
ActiveRecord::Locking::Pessimistic#with_lockのdocに、recordのreload処理が行われる旨説明を追加しています。
Merge pull request #46120 from rails/rescue-template-paths
Action Pack、railtiesの修正です。
ActionDispatch::DebugViewで保持してるrescue対象のtemplate pathをArrayで保持するよう修正しています。engineからrescue templateのpathを指定する方法が現在なく、hack出来るようにする為のとりあえずの対応との事です。
Merge pull request #45081 from iheanyi/iheanyi/custom-query-log-tags-separators
Active Recordの修正です。
query log内のtagの区切り文字が:固定だったのを、query_log_tags_formatで指定したformatterで切り替えられるよう修正しています。現在指定出来るのは:legacy(元の挙動)と:sqlcommenterで、:sqlcommenterを指定した場合は区切り文字が=になるようになっています。これはGoogleの同名のライブラリと挙動を合わせる為、との事です。
参考: Introducing Sqlcommenter: An open source ORM auto-instrumentation library | Google Cloud Blog
Merge pull request #45790 from mikeletscher/bind-attribute-primary-key-relation
activerecord/lib/active_record/relation.rbの修正です。
associationのprimary keyを指定している場合、uniqueness validationのチェックもその指定されているprimary keyで行うよう修正しています。
Filter reloaded classes in Class#subclasses and Class#descendants core exts
activesupport/lib/active_support/core_ext/class/subclasses.rb、
activesupport/lib/active_support/descendants_tracker.rbの修正です。
Class#subclassesとClass#descendantsでreloadされたクラスは自動でフィルターするよう修正しています。DescendantTracker#subclasses、DescendantTracker#descendantsと挙動を合わせる為。