class AddInventoryServiceTables

Public Class Methods

down() click to toggle source
# File lib/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
up() click to toggle source
# File lib/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