diff --git a/lib/generators/closure_tree/templates/create_hierarchies_table.rb.erb b/lib/generators/closure_tree/templates/create_hierarchies_table.rb.erb index 18d7671c..e85b2f3a 100644 --- a/lib/generators/closure_tree/templates/create_hierarchies_table.rb.erb +++ b/lib/generators/closure_tree/templates/create_hierarchies_table.rb.erb @@ -6,9 +6,12 @@ class <%= migration_class_name %> < ActiveRecord::Migration<%= migration_version t.integer :generations, null: false end - add_index :<%= migration_name %>, [:ancestor_id, :descendant_id, :generations], + add_index :<%= migration_name %>, [:ancestor_id, :descendant_id], unique: true, - name: "<%= file_name %>_anc_desc_idx" + name: "<%= file_name %>_anc_desc_uniq_idx" + + add_index :<%= migration_name %>, [:ancestor_id, :descendant_id, :generations], + name: "<%= file_name %>_anc_desc_gene_idx" add_index :<%= migration_name -%>, [:descendant_id], name: "<%= file_name %>_desc_idx" diff --git a/spec/support/schema.rb b/spec/support/schema.rb index 94bdcbf3..58a7a785 100644 --- a/spec/support/schema.rb +++ b/spec/support/schema.rb @@ -34,8 +34,11 @@ t.string 'name' end - add_index 'tag_hierarchies', %i[ancestor_id descendant_id generations], unique: true, - name: 'tag_anc_desc_idx' + add_index 'tag_hierarchies', %i[ancestor_id descendant_id], unique: true, + name: 'tag_anc_desc_uniq_idx' + + add_index 'tag_hierarchies', %i[ancestor_id descendant_id generations], name: 'tag_anc_desc_gene_idx' + add_index 'tag_hierarchies', [:descendant_id], name: 'tag_desc_idx' create_table 'groups', force: true do |t|