2018/12/01分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
Merge pull request #34505 from eileencodes/add-readonly-mode
Active Recordの修正です。
DBへのwrite処理をブロックする為の機能を追加しています。
write処理がreplica
に行われた場合、または、while_preventing_writes
メソッドのblock内でwrite処理を行おうとした場合、ActiveRecord::StatementInvalid
がraiseされるようになっています。
ActiveRecord::Base.connection.while_preventing_writes { User.create! } # => ActiveRecord::StatementInvalid (Write query attempted while in readonly mode: BEGIN)
write処理かどうかについては、各adapter毎にread query(Postgres adapterの場合はselect, show, set)を定義して、それ以外のqueryは全てwriteとみなすようになっています。
Merge pull request #34576 from ys/test-upload-extra-keys
activestorage/test/service/shared_service_tests.rb
の修正です。
各serviceにcontent_type
、filename
等のkeyを明示的に渡した場合のテストを追加しています。
Merge pull request #33882 from mberlanda/mberlanda/as-inheritable-options-intialization
railties/lib/rails/application.rb
の修正です。
config_for
メソッドでconfigの管理にActiveSupport::InheritableOptions
を使用していたのを、ActiveSupport::OrderedOptions
を使用するよう修正、及び、初期化処理に誤りがあり、ファイルから読み込んだ値が正しく使用出来ないバグがあったのを修正しています。
Clarify no support for non PK id columns
activerecord/lib/active_record/attribute_methods/primary_key.rb
のdoc、及び、rails guideのActive Record Basics
の修正です。
id
系のメソッドのdocに、設定や返す値はprimary key columnの値である旨説明を追加、及び、guideにActive Recordではid
という名前でprimary keyでないカラムはサポートしていない旨説明を追加しています。
metadata
is not passed to service
activestorage/test/service/shared_service_tests.rb
の修正です。
先で追加された各serviceにcontent_type
、filename
等のkeyを明示的に渡した場合のテストで、サポートしていないkeyが指定されていたのを削除しています。
Merge pull request #34579 from gmcgibbon/yield_in_with_delivery_job
actionmailer/test/parameterized_test.rb
の修正です。
with_delivery_job
でblockの実行(jobの実行)が不足していたのを追加しています。
fix example code syntax [ci skip]
rails guideのActive Storage Overview
の修正です。
Integrating with Libraries or Frameworks
の項にあるdirect uploadのexampleコードで、シンタックスエラーになってしまう箇所があったのを修正しています。