aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/migration
diff options
context:
space:
mode:
authorPrathamesh Sonpatki <csonpatki@gmail.com>2016-01-24 16:46:12 +0530
committerPrathamesh Sonpatki <csonpatki@gmail.com>2016-01-24 18:48:15 +0530
commit909818b93b8f1bd4d7053a1c5d8135b9b0cbe865 (patch)
tree4361b4aa57fe06130a44a6be4ba4f8990c3177ec /activerecord/lib/active_record/migration
parente3a0ad83da16f5fb063ce7d254b4e466baf7199d (diff)
downloadrails-909818b93b8f1bd4d7053a1c5d8135b9b0cbe865.tar.gz
rails-909818b93b8f1bd4d7053a1c5d8135b9b0cbe865.tar.bz2
rails-909818b93b8f1bd4d7053a1c5d8135b9b0cbe865.zip
Pare back default `index` option for the migration generator
- Using `references` or `belongs_to` in migrations will always add index for the referenced column by default, without adding `index:true` option to generated migration file. - Users can opt out of this by passing `index: false`. - Legacy migrations won't be affected by this change. They will continue to run as they were before. - Fixes #18146
Diffstat (limited to 'activerecord/lib/active_record/migration')
-rw-r--r--activerecord/lib/active_record/migration/compatibility.rb12
1 files changed, 12 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/migration/compatibility.rb b/activerecord/lib/active_record/migration/compatibility.rb
index 1b94573870..5d742b523b 100644
--- a/activerecord/lib/active_record/migration/compatibility.rb
+++ b/activerecord/lib/active_record/migration/compatibility.rb
@@ -5,6 +5,12 @@ module ActiveRecord
module FourTwoShared
module TableDefinition
+ def references(*, **options)
+ options[:index] ||= false
+ super
+ end
+ alias :belongs_to :references
+
def timestamps(*, **options)
options[:null] = true if options[:null].nil?
super
@@ -24,6 +30,12 @@ module ActiveRecord
end
end
+ def add_reference(*, **options)
+ options[:index] ||= false
+ super
+ end
+ alias :add_belongs_to :add_reference
+
def add_timestamps(*, **options)
options[:null] = true if options[:null].nil?
super