Class: AddInventoryServiceTables

Inherits:
ActiveRecord::Migration
  • Object
show all
Defined in:
lib/vendor/puppet/rails/database/004_add_inventory_service_tables.rb

Class Method Summary collapse

Class Method Details

.downObject



25
26
27
28
29
30
31
32
33
34
35
# File 'lib/vendor/puppet/rails/database/004_add_inventory_service_tables.rb', line 25

def self.down
  unless ActiveRecord::Base.connection.tables.include?("inventory_nodes")
    remove_index :inventory_nodes, :name
    drop_table :inventory_nodes
  end

  if ActiveRecord::Base.connection.tables.include?("inventory_facts")
    remove_index :inventory_facts, [:node_id, :name]
    drop_table :inventory_facts
  end
end

.upObject



2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/vendor/puppet/rails/database/004_add_inventory_service_tables.rb', line 2

def self.up
  unless ActiveRecord::Base.connection.tables.include?("inventory_nodes")
    create_table :inventory_nodes do |t|
      t.column :name, :string, :null => false
      t.column :timestamp, :datetime, :null => false
      t.column :updated_at, :datetime
      t.column :created_at, :datetime
    end

    add_index :inventory_nodes, :name, :unique => true
  end

  unless ActiveRecord::Base.connection.tables.include?("inventory_facts")
    create_table :inventory_facts, :id => false do |t|
      t.column :node_id, :integer, :null => false
      t.column :name, :string, :null => false
      t.column :value, :text, :null => false
    end

    add_index :inventory_facts, [:node_id, :name], :unique => true
  end
end