Class: MonarchyCreateHierarchies

Inherits:
ActiveRecord::Migration
  • Object
show all
Defined in:
lib/generators/templates/migrations/hierarchy.rb

Instance Method Summary collapse

Instance Method Details

#changeObject



2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/generators/templates/migrations/hierarchy.rb', line 2

def change
  create_table :monarchy_hierarchies do |t|
    t.integer :parent_id
    t.integer :resource_id, null: false
    t.string :resource_type, null: false
    t.timestamps null: false
  end


  create_table :monarchy_hierarchy_hierarchies, id: false do |t|
    t.integer :ancestor_id, null: false
    t.integer :descendant_id, null: false
    t.integer :generations, null: false
  end

  add_index :monarchy_hierarchy_hierarchies, [:ancestor_id, :descendant_id, :generations],
            unique: true,
            name: 'hierarchy_anc_desc_idx'

  add_index :monarchy_hierarchy_hierarchies, [:descendant_id], name: 'hierarchy_desc_idx'
end