diff options
author | Matthew Draper <matthew@trebex.net> | 2017-01-20 00:58:41 +1030 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-01-20 00:58:41 +1030 |
commit | 7b4514c6ab2703b9a9b6574f3559cae722a33d4f (patch) | |
tree | 869ed3c657996496b83a438b81af1f0a9d0195c7 /activerecord/lib/active_record/connection_adapters/mysql | |
parent | df3351dfe5e109b8e10f350150a7d727abad9521 (diff) | |
parent | 72e59fedb126ab2f42290796108a81f503257de5 (diff) | |
download | rails-7b4514c6ab2703b9a9b6574f3559cae722a33d4f.tar.gz rails-7b4514c6ab2703b9a9b6574f3559cae722a33d4f.tar.bz2 rails-7b4514c6ab2703b9a9b6574f3559cae722a33d4f.zip |
Merge pull request #27384 from matthewd/bigint-pk-tweaks
Tweak bigint PK handling
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/mysql')
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/mysql/schema_definitions.rb | 6 | ||||
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/mysql/schema_dumper.rb | 4 |
2 files changed, 4 insertions, 6 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/mysql/schema_definitions.rb b/activerecord/lib/active_record/connection_adapters/mysql/schema_definitions.rb index 0cf40de70f..f1ba0cb708 100644 --- a/activerecord/lib/active_record/connection_adapters/mysql/schema_definitions.rb +++ b/activerecord/lib/active_record/connection_adapters/mysql/schema_definitions.rb @@ -3,10 +3,8 @@ module ActiveRecord module MySQL module ColumnMethods def primary_key(name, type = :primary_key, **options) - if type == :primary_key && !options.key?(:default) - options[:auto_increment] = true - options[:limit] = 8 - end + options[:auto_increment] = true if [:primary_key, :integer, :bigint].include?(type) && !options.key?(:default) + options[:limit] = 8 if [:primary_key].include?(type) super end diff --git a/activerecord/lib/active_record/connection_adapters/mysql/schema_dumper.rb b/activerecord/lib/active_record/connection_adapters/mysql/schema_dumper.rb index 2065816501..d44c35714f 100644 --- a/activerecord/lib/active_record/connection_adapters/mysql/schema_dumper.rb +++ b/activerecord/lib/active_record/connection_adapters/mysql/schema_dumper.rb @@ -4,8 +4,8 @@ module ActiveRecord module ColumnDumper def column_spec_for_primary_key(column) spec = super - if column.type == :integer && !column.auto_increment? - spec[:default] = schema_default(column) || "nil" + if [:integer, :bigint].include?(schema_type(column)) && !column.auto_increment? + spec[:default] ||= schema_default(column) || "nil" end spec[:unsigned] = "true" if column.unsigned? spec |