なるようになるブログ

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

rails commit log流し読み(2021/06/16)

2021/06/16分のコミットです。

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

activerecord/CHANGELOG.md

activestorage/CHANGELOG.md


Revert "Run ActiveRecord -> ActiveJob integration tests in CI"

Active Record + Active Jobのintegration testsがCIで実行されないようになっていたのを、実行されるよう修正した、Run ActiveRecord -> ActiveJob integration tests in CIをRevertしています。

Active Recordと同じプロセスでActive Jobのテストを実行すると想定外の動作になってしまう可能性がある為。


Don't attach UJS form submission handlers to Turbo forms (#42476)

actionview/app/assets/javascripts/rails-ujs.coffeeの修正です。

rails-ujsでTurbo用のformはattachしないよう修正しています。Turbo側で管理しているformについて、rails-ujsで処理が行われてしまうと想定通りの挙動にならない為。


Fix deprecation in railties maintain_test_schema

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

railties/test_helpをrequireした際にmaintain_test_schemaに関するdeprecate warningが表示されないよう、ActiveRecord.maintain_test_schemaを使用するよう修正しています。


Quick fix for the maintain_test_schema load order issue

activerecord/lib/active_record/core.rbactiverecord/lib/active_record/migration.rbの修正です。

configのload orderの問題により、ActiveRecord.maintain_test_schemaは現在正しく動作しない為、各箇所でActiveRecord::Base.maintain_test_schemaを使用するよう修正しています。


Move maintain_test_schema temporarily back to Core

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

先の対応のフォローアップとして、ActiveRecord.maintain_test_schemaは削除し、ActiveRecord::Base.maintain_test_schemaだけ使えるよう修正しています。


Merge pull request #42486 from kuroponzu/add_space_activesupport_lib_active_support_digest

activesupport/lib/active_support/digest.rbの修正です。

class <<self -> class << selfに修正しています。


Mysql adapters: improve security of untyped bound values

Active Recordの修正です。

MySQL adapterで、bind parametersにnumber、及び、booleanが指定された場合に、stringに変換するよう修正しています。

User.where("login_token = ?", 0).first

# before
# => SELECT * FROM `users` WHERE `login_token` = 0 LIMIT 1;

# after
# => SELECT * FROM `users` WHERE `login_token` = '0' LIMIT 1;

number、booleanのままだと、stringがcastされてしまい、想定外にtrueと評価されてしまう可能性がある(例えば、"foo" = 0のような場合、"foo"が0にcastされてしまいtrueになる)為。


Improve ActiveStorage 'Linking to Files' section in guides [ci skip]

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

Linking to Filesの項について、言い回しや外部リンクの修正等を行っています。


Strict loading cascade down to middle records

activerecord/lib/active_record/associations/preloader/association.rbactiverecord/lib/active_record/associations/preloader/through_association.rbの修正です。

through associationsにstrict loadingの指定が伝搬するよう修正しています。


Set Active Record configurations on after_initialize

Active Recordの修正です。

Active Recordのconfigurationsの指定をafter_initializeで行うよう修正しています。initializerでconfig.active_recordの値を指定出来るようにする為。合わせて、maintain_test_schemaActiveRecordのclass accessrに戻しています。


Disable automatic write protection on replicas

Active Recordの修正です。

自動で行われたていたreplicaへの書き込み防止処理を行わないよう修正しています。Railsレベルでの書き込み防止処理は正確に行えず、本来実行出来ても良いSQLが実行出来ない、というような事がちょいちょい発生してしまった為。書き込み防止はDBレベルの設定で行ってね、というスタンスになっています。


Merge pull request #42487 from GuillaumeWrobel/patch-1

rails guideのWebpackerの修正です。

app/javascript/packsapp/javascripts/packsにタイポしていたのを修正しています。


Merge pull request #42484 from brunvez/correct_preload_docs

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

associationsオプションについて説明している箇所で、オプションについての参照先のドキュメントの指定が誤っていたのを修正しています。


Merge pull request #42480 from p8/guides/activerecord-queries-add-and

rails guideのActive Record Query Interfaceの修正です。

AND conditionsを生成する方法について説明したAND Conditionsの項を追加しています。


Add space between "ActiveStorage" in documentation [ci skip]

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

ActiveStorage -> Active Storageに修正しています。


Merge pull request #42471 from brendon/ffmpeg-options

Active Storageの修正です。

videoのpreivew生成処理で、first frameを使用していたのをscene change detectionを使用するよう修正しています。合わせて、preview生成処理で指定するオプションが固定だったのを、config(config.active_storage.video_preview_arguments)で指定出来るよう修正しています。