2017/02/27分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
- Deprecate
supports_migrations?
on connection adapters. - Use
max_identifier_length
forindex_name_length
in PostgreSQL adapter
activerecord/test/cases/connection_pool_test.rb
の修正です。
一つのテストでまとめて行われていた、disconnectの後に自動で再接続が行われる事を確認するテストと、automatic_reconnect
にfalseを指定した場合のテストを、別のテストに分けています。
Deprecate supports_migrations?
on connection adapters
Active Recordの修正です。
connection adapterのsupports_migrations?
メソッドがdeprecateになりました。
supports_migrations?
メソッドは名前の通りcreate_table
やdrop_table
等のmigration系のメソッドが使用出来るかどうか確認する為のメソッドなのですが、現状サポートしているadapterは全てmigrationメソッドをサポートしており、そもそもチェックする必要が無くなっている為、deprecateにしたとの事です。
Update i18n guide to cover :zero key support in pluralization [ci skip]
rails guideのRails Internationalization (I18n) API
の修正です。
Pluralization
の項に、translationsの:zero
keyについての説明を追加しています。
Use max_identifier_length
for index_name_length
in PostgreSQL adapter
activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb
、
activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb
の修正です。
PostgreSQL adapterのindex nameが63固定になっていたのを、max_identifier_length
パラメータの値を使用するよう修正しています。
Fix test_apply_distinct_in_count
failure in PG adapter
activerecord/test/cases/calculations_test.rb
の修正です。
distinct
+ count
を組み合わせた場合のテストがPostgreSQL adapterでfailしていたのを修正しています。
queries.each do |query| + # `table_alias_length` in `column_alias_for` would execute + # "SHOW max_identifier_length" statement in PostgreSQL adapter. + next if query == "SHOW max_identifier_length" assert_match %r{\ASELECT(?! DISTINCT) COUNT\(DISTINCT\b}, query end
先のmax_identifier_length
を使用する対応の影響によるものです。
Merge pull request #25274 from kamipo/fix_find_nth_with_limit_value
activerecord/lib/active_record/relation/finder_methods.rb
の修正です。
limit
に指定された範囲外のfinderメソッドを使用した場合(e.g. Topic.limit(1).second
)にDBにqueryを投げずに空の値を返すよう修正しています。
Only load SystemTestCase if Puma is defined
railties/lib/rails/test_help.rb
の修正です。
SystemTestCase
クラスのload処理を、Capbyara
及びPuma
両方が定義されている場合にのみ行うよう修正しています。
SystemTestCase
クラスは現状Pumaのみをサポートしており、Puma
が定義されてないとエラーになってしまう為。
Set correct host except development environment
railties/lib/rails/commands/server/server_command.rb
の修正です。
rails serverのHost
オプションのデフォルトに全ての環境でlocalhost
が使われていたのを、Rails 5.0までと同様に、developmentでのみlocalhost
を使用し、それ以外の環境では0.0.0.0
を使用するよう修正しています。
activerecord/test/support/connection.rb
の修正です。
$ARCONN
に存在しないconnectionを指定した場合に、指定可能なconnectionの一覧を表示するよう修正しています。
PRより。
Before
$ ARCONN=postgres bundle exec ruby -Itest test/cases/adapters/postgresql/connection_test.rb Using postgres /Users/kir/Projects/opensource/rails/activerecord/lib/active_record/connection_handling.rb:63:in `dup': can't dup NilClass (TypeError) from /Users/kir/Projects/opensource/rails/activerecord/lib/active_record/connection_handling.rb:63:in `initialize' from /Users/kir/Projects/opensource/rails/activerecord/lib/active_record/core.rb:46:in `new' from /Users/kir/Projects/opensource/rails/activerecord/lib/active_record/core.rb:46:in `configurations=' from /Users/kir/Projects/opensource/rails/activerecord/test/support/connection.rb:19:in `connect' from /Users/kir/Projects/opensource/rails/activerecord/test/cases/helper.rb:24:in `<top (required)>' from test/cases/adapters/postgresql/connection_test.rb:1:in `require' from test/cases/adapters/postgresql/connection_test.rb:1:in `<main>'
After
$ ARCONN=postgres bundle exec ruby -Itest test/cases/adapters/postgresql/connection_test.rb Using postgres Connection "postgres" not found. Available connections: jdbcderby, jdbch2, jdbchsqldb, jdbcmysql, jdbcpostgresql, jdbcsqlite3, db2, mysql, mysql2, oracle, postgresql, sqlite3, sqlite3_mem