aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/rails
diff options
context:
space:
mode:
authorJoshua Wood <josh@hintmedia.com>2012-03-02 17:59:23 -0800
committerJoshua Wood <josh@hintmedia.com>2012-04-14 14:18:42 -0700
commitca0af8221a3b704fa289afe7030a96dc8cec8a95 (patch)
treec3100645cc5ef8e41d5d7fdd86b100a5c6efa85b /activerecord/lib/rails
parentd55eea15008bc4674f761b2494b33c22eb9e15e9 (diff)
downloadrails-ca0af8221a3b704fa289afe7030a96dc8cec8a95.tar.gz
rails-ca0af8221a3b704fa289afe7030a96dc8cec8a95.tar.bz2
rails-ca0af8221a3b704fa289afe7030a96dc8cec8a95.zip
Automatically create indexes for references/belongs_to statements in migrations.
Diffstat (limited to 'activerecord/lib/rails')
-rw-r--r--activerecord/lib/rails/generators/active_record/model/model_generator.rb3
1 files changed, 2 insertions, 1 deletions
diff --git a/activerecord/lib/rails/generators/active_record/model/model_generator.rb b/activerecord/lib/rails/generators/active_record/model/model_generator.rb
index f3bb70fb41..8e6ef20285 100644
--- a/activerecord/lib/rails/generators/active_record/model/model_generator.rb
+++ b/activerecord/lib/rails/generators/active_record/model/model_generator.rb
@@ -14,6 +14,7 @@ module ActiveRecord
def create_migration_file
return unless options[:migration] && options[:parent].nil?
+ attributes.each { |a| a.attr_options.delete(:index) if a.reference? && !a.has_index? } if options[:indexes] == false
migration_template "migration.rb", "db/migrate/create_#{table_name}.rb"
end
@@ -27,7 +28,7 @@ module ActiveRecord
end
def attributes_with_index
- attributes.select { |a| a.has_index? || (a.reference? && options[:indexes]) }
+ attributes.select { |a| !a.reference? && a.has_index? }
end
def accessible_attributes