diff options
author | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2015-05-18 16:07:34 -0300 |
---|---|---|
committer | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2015-05-18 16:07:34 -0300 |
commit | 3442ba484911f6c47131cfae11c5a2845533f075 (patch) | |
tree | 88289f736ea0cec1e1ff8e3df6d1ab8ebfe46709 /activerecord/lib/active_record/connection_adapters/abstract | |
parent | fc628f7ad8fed642167297e0d50a1cad7e3da831 (diff) | |
parent | 320788097df990e90fb6942fab168141e8a682a2 (diff) | |
download | rails-3442ba484911f6c47131cfae11c5a2845533f075.tar.gz rails-3442ba484911f6c47131cfae11c5a2845533f075.tar.bz2 rails-3442ba484911f6c47131cfae11c5a2845533f075.zip |
Merge pull request #20192 from kamipo/divide_to_column_options_handling_methods
Divide methods for handling column options separately
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/abstract')
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/abstract/schema_dumper.rb | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract/schema_dumper.rb b/activerecord/lib/active_record/connection_adapters/abstract/schema_dumper.rb index deb014ad46..b944a8631c 100644 --- a/activerecord/lib/active_record/connection_adapters/abstract/schema_dumper.rb +++ b/activerecord/lib/active_record/connection_adapters/abstract/schema_dumper.rb @@ -27,10 +27,17 @@ module ActiveRecord spec[:type] = schema_type(column) spec[:null] = 'false' unless column.null - limit = column.limit || native_database_types[column.type][:limit] - spec[:limit] = limit.inspect if limit - spec[:precision] = column.precision.inspect if column.precision - spec[:scale] = column.scale.inspect if column.scale + if limit = schema_limit(column) + spec[:limit] = limit + end + + if precision = schema_precision(column) + spec[:precision] = precision + end + + if scale = schema_scale(column) + spec[:scale] = scale + end default = schema_default(column) if column.has_default? spec[:default] = default unless default.nil? @@ -53,6 +60,19 @@ module ActiveRecord column.type.to_s end + def schema_limit(column) + limit = column.limit || native_database_types[column.type][:limit] + limit.inspect if limit + end + + def schema_precision(column) + column.precision.inspect if column.precision + end + + def schema_scale(column) + column.scale.inspect if column.scale + end + def schema_default(column) type = lookup_cast_type_from_column(column) default = type.deserialize(column.default) |