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
と挙動を合わせる為。