From 4e390720178889c773adb12ea1f073bc035fbe67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20=C5=81omnicki?= Date: Tue, 1 Feb 2011 23:27:26 +0100 Subject: Configurable generation of add_index for references columns Signed-off-by: Santiago Pastorino --- .../lib/rails/generators/active_record/model/model_generator.rb | 1 + .../lib/rails/generators/active_record/model/templates/migration.rb | 2 ++ 2 files changed, 3 insertions(+) (limited to 'activerecord/lib/rails/generators/active_record') 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 c75abd043c..f7caa43ac8 100644 --- a/activerecord/lib/rails/generators/active_record/model/model_generator.rb +++ b/activerecord/lib/rails/generators/active_record/model/model_generator.rb @@ -10,6 +10,7 @@ module ActiveRecord class_option :migration, :type => :boolean class_option :timestamps, :type => :boolean class_option :parent, :type => :string, :desc => "The parent class for the generated model" + class_option :indexes, :type => :boolean, :default => true, :desc => "Add indexes for references and belongs_to columns" def create_migration_file return unless options[:migration] && options[:parent].nil? diff --git a/activerecord/lib/rails/generators/active_record/model/templates/migration.rb b/activerecord/lib/rails/generators/active_record/model/templates/migration.rb index cd2552d9b8..e573e908a7 100644 --- a/activerecord/lib/rails/generators/active_record/model/templates/migration.rb +++ b/activerecord/lib/rails/generators/active_record/model/templates/migration.rb @@ -9,8 +9,10 @@ class <%= migration_class_name %> < ActiveRecord::Migration <% end -%> end +<% if options[:indexes] %> <% attributes.select {|attr| attr.reference? }.each do |attribute| -%> add_index :<%= table_name %>, :<%= attribute.name %>_id <% end -%> +<% end %> end end -- cgit v1.2.3