2014/12/28分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
- Support for any type primary key.
- Add bigint primary key support for MySQL.
- Provide a better error message for unsupported classes in
serialize - Provide :touch option to save() to accommodate saving without updating timestamps. [#18202]
reduce duplication in ConnectionAdapters::Table docs. [ci skip]
activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rbのdocの修正です。
ConnectionAdapters::Tableクラスの各メソッドのdocに"See SchemaStatements#xxx"を追加しています
ConnectionAdapters::TableクラスとSchemaStatementsクラスの各メソッドの処理が大分近しいので、詳細はSchemaStatementsの方のdocを見てとの事です。
add autoload for ForeignKeyDefinition.
activerecord/lib/active_record/connection_adapters/abstract_adapter.rbの修正です。
ForeignKeyDefinitionクラスのautoloadを追加しています。
Support for any type primary key.
ActiveRecordのConnectionAdaptersの修正です。
primary keyに任意の型のカラムを指定出来るよう修正しています。
Add bigint primary key support for MySQL.
ActiveRecordのConnectionAdaptersの修正です。
primary keyにbigintを指定した場合のサポートを追加しています。これにより、以下のような書き方が出来るようになっています。
create_table :foos, id: :bigint do |t| end
Provide a better error message for unsupported classes in serialize
activerecord/lib/active_record/coders/yaml_column.rbの修正です。
serialize出来ないクラスがserializeメソッドに指定された場合に、より明確なエラーメッセージが表示されるよう修正しています。
因みに、出力されるエラーメッセージは、"Cannot serialize #{object_class}. Classes passed toserializemust have a 0 argument constructor."です。
Provide :touch option to save() to accommodate saving without updating timestamps. [#18202]
ActiveRecordの修正です。
save、save!メソッドにtouchオプションを追加しています。
デフォルトでtouch: trueになっていますが、timestampsを更新したく無い場合に、touch: falseを指定してあげると、timestampsの更新無しでデータの更新が行えます。
Fix warning: `*' interpreted as argument prefix
activerecord/lib/active_record/timestamp.rbの修正です。
()が無くてRubyのwarningが出力されていたのを対応しています。