2014/05/20分のコミットです。
CHANGELOGにのったコミットは以下の通りです(詳細は本文参照)。
- Fix bug that added
table_name_prefix
andtable_name_suffix
to extension names in PostgreSQL when migrating. - Remove :timestamp column type
- Fixed the inferred table name of a HABTM auxiliar table inside a schema.
- Default
config.assets.digest
totrue
in development.
Delegate Column#type
to the injected type object
以前あったConnectionAdaptersの修正の続きです。
カラムの型情報をtype objectで持つように修正しています。
Merge pull request #10798 from jcxplorer/fix-enable_extension-with-table_name_prefix
activerecord/lib/active_record/migration.rb
の修正です。
DBにPostgreSQLを指定する、かつ、table_name_prefix
またはtable_name_suffix
を使用する、かつenable_extension
を使用した場合にエラーになっていたバグを修正しています。
extensionにもprefix/suffixが適応されてしまい、extensionの名前がおかしくなってしまったようです。
activerecord/test/cases/adapters/postgresql/extension_migration_test.rb
の修正です。
テストの前処理/後処理を修正しています。
Merge pull request #15155 from dskang/digest
developmentのconfig.assets.digest
のデフォルトをtrue
にするよう修正しています。
assetファイルのパスをハードコーディングしてしまって、開発環境で動くけど本番で動かない、というケースを防ぐ為との事です。
これ、慣れている人は良いのですが、rails始めたての頃は割と苦労しそうな。
Add ActionController::Renderers.remove.
actionpack/lib/action_controller/metal/renderers.rb
の修正です。
ActionController::Renderers.remove
メソッドが追加されています。
ActionController::Renderers.add
した後に、取り消したい、というケースがあったらしく追加されています。
テストの時は重宝しそうなのですが、実際のサービス内で使うユースケースはあるのかなあ。
ConnectionAdapter
からtimestamp
型が削除されました。 現状そもそも利用されていなかった為との事です。
現状、timestamp
で定義されているカラムについては、今後も動作するとの事です。(datetime
にエイリアスされている)
Revert "Rewrite journey routes formatter for performance"
こちらのコミットのrevertです。
routingの処理にバグをいれこんでしまったようで、revertされています。このコミットに、リグレッションテストのコードも追加されています。
actionpack/lib/action_dispatch/journey/visitors.rb
の修正です。
エスケープ処理を追加しているのですが、そもそも何の為の処理なのかが、解らない…。
make the AST go from left to right, rather than right to left
actionpack/lib/action_dispatch/journey/parser.rb
の修正です。
Raccで構文木の再生成を行ったのは分かるのですが、修正内容はさっぱり分かりませんでした…。
Add using_resouce_with_json to controller.
actionpack/test/controller/mime/respond_with_test.rb
の修正です。
テスト用に、using_resource_with_json
メソッドを追加しています。
docs, instantiate
expects String
keys. [Rafal Piekarski & Yves Senn]
ActiveRecord::Persistence::ClassMethods#instantiate
メソッドのdoc及び変数名の修正です。
instantiate
メソッドの第一引数にHashを指定出来るのですが、そのHashのkeyにはStringしか使用出来ないらしく、その旨docに追加しています。
activerecord/test/cases/migration/change_schema_test.rb
の修正です。
同じテーブル名を異なるテストで使用しており、schemaがcacheされてしまうと、期待と違うschemaでテストが動いてしまいエラーになる場合があったようで、teardown
にActiveRecord::Base.clear_cache!
を追加しています。
Use generated binstubs in guides examples.
rails guideの全体の修正です。railsのコマンドを実行する際、binstubを使用するよう修正しています。
# before rails generate scaffold user name email login rake db:migrate # after bin/rails generate scaffold user name email login bin/rake db:migrate
Distinguish rake assets:clobber from rake assets:clean
rails guideのThe Rails Command Line
のページの修正です。
rake assets:clobber
の説明を追加しています。
Fixed the inferred table name for HABTM within a schema
activerecord/lib/active_record/associations/builder/has_and_belongs_to_many.rb
の修正です。
DBにPostgreSQLを指定してHABTMを使用している場合に、テーブル名の解決が出来ず、エラーになるケースがあったようです。
class Music::Song < ActiveRecord::Base self.table_name = "music.songs" has_and_belongs_to_many :albums end class Music::Album < ActiveRecord::Base self.table_name = "music.albums" has_and_belongs_to_many :songs end
Music::Song.includes(:albums).first SELECT DISTINCT "music"."songs"."id", "music"."songs"."id" AS alias_0 FROM "music"."songs" LEFT OUTER JOIN "music"."albums_music" ON "music"."albums_music"."song_id" = "music"."songs"."id" LEFT OUTER JOIN "music"."albums" ON "music"."albums"."id" = "music"."albums_music"."album_id" ORDER BY "music"."songs"."id" ASC LIMIT 1
"music"."albums_music"
になっている箇所は、"music"."albums_songs"
になるべきですね。しかし、ややこしいなあ…。