2015/03/18分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
- Add config.active_record.dump_schemas.
- Reuse the
CollectionAssociation#reader
cache when the foreign key is available prior to save.
Add config.active_record.dump_schemas.
ActiveRecordの修正です。
db:structure:dump
タスク実行時に参照する schema pathを指定する為のconfig.active_record.dump_schemas
を追加しています。
config.active_record.dump_schemas
に:all
を設定した場合、schema_search_path
の値に関わらず、全てのschema情報を出力します。
元々は、schema_search_path
が設定されていた場合、設定されているschemaの情報のみ出力するように、pg_dump
コマンドのschema
オプションを指定していました。
ただ、schema
オプションを指定した場合、pg_dumpは選択したスキーマ内のオブジェクトが依存する可能性があるその他のデータベースオブジェクトのダンプを行わない為、
出力されたダンプファイルを使用しても、初期状態のデータベースに正常にリストアできるかどうかの保証がありませんでした(実際復元出来ていなかった)。
その為、schema_search_path
の値に関わらず、全てのスキーマを出力出来るようにする為に、新たなconfigを追加したとの事です。
詳細は、issue(No extensions in structure.sql when schema_search_path is defined · Issue #17157 · rails/rails)、またはPostgreSQLのマニュアル(pg_dump)ご参照で。
Merge pull request #19347 from rywall/dump-schemas-config
Merge pull request #19296 from Wildebeest/fix-race-ttl
activesupport/lib/active_support/cache.rb
の修正です。
Cache::Store#fetch
メソッドの引数のrace_condition_ttl
オプションに0 又は nilが設定されていた場合に、race conditionに関する処理を行わないよう修正しています。
Merge pull request #19351 from reist/xml_document
actionpack/lib/action_dispatch/testing/assertions.rb
の修正です。
Assertions#html_document
メソッドで、responseがXMLどうかのチェックでを正規表現で行っていたのをMime::XML
と比較するよう修正しています。
- @html_document ||= if @response.content_type =~ /xml$/ + @html_document ||= if @response.content_type === Mime::XML
Fix wrong model name for 'Articles', It should be 'Article' [ci skip]
rails guideのActive Record Basics
の修正です。
Schema Conventions
の項でcache counterについて説明している箇所で、exampleに使用しているmodel名をタイポ(Articles
-> Article
)していたのを修正しています。
Fix NullRelation.update_all and .exists? signature to match the same on Relation
activerecord/lib/active_record/null_relation.rb
の修正です。
NullRelation.update_all
、NullRelation.exists?
メソッドの引数をRelation#update_all
、Relation#exists?
と同じにするよう修正しています。
Update old link in pessimistic.rb comments
activerecord/lib/active_record/locking/pessimistic.rb
のdocの修正です。
row lockについての参考URLをhttp://dev.mysql.com/doc/refman/5.1/en/innodb-locking-reads.html
から、最新のバージョンの http://dev.mysql.com/doc/refman/5.6/en/innodb-locking-reads.html
の修正です。
- Make example code consistent for better understanding. [ci skip]
rails guideのActive Record Basics
の修正です。
Overriding the Naming Conventions
の項のexampleで使用するテーブル名・クラス名を項全体で統一するよう修正しています。
Merge pull request #19348 from Empact/null-scope
activerecord/lib/active_record/associations/collection_association.rb
の修正です。
レコード保存時に外部キーが使用出来る場合、CollectionAssociation#reader
のキャッシュを再利用するよう修正しています。
Remove additional handling of boolean attributes on button to helper
actionview/lib/action_view/helpers/url_helper.rb
の修正です。
convert_boolean_attributes!
メソッドの削除、及びbutton_to
メソッドからconvert_boolean_attributes!
の呼び出しを削除しています。
convert_boolean_attributes!
メソッドは名前の通りboolean属性の変換処理を行う為のメソッドなのですが、現状button_to
メソッドはtag/content_tag
メソッドに依存しており、
tag/content_tag
メソッドの方でboolean属性の変換処理を行っている為、こちらのメソッドは削除しています。
Merge pull request #19240 from yui-knk/refactor/guide_rb
guides/rails_guides.rb
の修正です。
redcarpet
、nokogiri
をrequire出来るかどうかのチェック処理を削除しています。
rails/Gemfile
の方でredcarpet
、nokogiri
をinstallするよう指定しており、チェックする必要は無い為削除したとの事です。
Add clear_association_scope_cache
method
activerecord/lib/active_record/reflection.rb
の修正です。
AssociationReflection
、ThroughReflection
クラスにReflectionのキャッシュを削除する為のclear_association_scope_cache
メソッドを追加しています。
Improve test for leaky scope chain
activerecord/test/cases/reflection_test.rb
の修正です。
polymorphic associationのscopがleakしてないか確認する為のテストで、capture_sql
メソッドを使用し、生成されたSQLを比較するよう修正しています。より正確にleakが無い事の確認を行う為の改善との事です。