aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record
diff options
context:
space:
mode:
authorJeremy Kemper <jeremykemper@gmail.com>2014-09-10 14:22:41 -0700
committerJeremy Kemper <jeremykemper@gmail.com>2014-09-10 15:35:12 -0700
commit2c76793f087e212ff4c6d835656a9a95c8bfeaa5 (patch)
treef22a43e9c948a6f4efcbd87e9913fa6b482c2fff /activerecord/lib/active_record
parentda74eeb29426dd7940d1329f91a3894d2d6fb2cb (diff)
downloadrails-2c76793f087e212ff4c6d835656a9a95c8bfeaa5.tar.gz
rails-2c76793f087e212ff4c6d835656a9a95c8bfeaa5.tar.bz2
rails-2c76793f087e212ff4c6d835656a9a95c8bfeaa5.zip
Include default column limits in schema.rb
Allows :limit defaults to be changed without pulling the rug out from under old migrations that omitted :limit because it matched the default at the time.
Diffstat (limited to 'activerecord/lib/active_record')
-rw-r--r--activerecord/lib/active_record/connection_adapters/abstract/schema_dumper.rb12
1 files changed, 8 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 9bd0401e40..b05a4f8440 100644
--- a/activerecord/lib/active_record/connection_adapters/abstract/schema_dumper.rb
+++ b/activerecord/lib/active_record/connection_adapters/abstract/schema_dumper.rb
@@ -19,12 +19,16 @@ module ActiveRecord
spec = {}
spec[:name] = column.name.inspect
spec[:type] = column.type.to_s
- spec[:limit] = column.limit.inspect if column.limit != types[column.type][:limit]
+ spec[:null] = 'false' unless column.null
+
+ limit = column.limit || 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
- spec[:null] = 'false' unless column.null
- spec[:default] = schema_default(column) if column.has_default?
- spec.delete(:default) if spec[:default].nil?
+
+ default = schema_default(column) if column.has_default?
+ spec[:default] = default unless default.nil?
+
spec
end