summaryrefslogtreecommitdiffstats
path: root/lib/puppet/rails/database/schema_init.rb
blob: 9151bee461354da16d55498c41c386a72b744624 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
class Puppet::Rails::Schema

def self.init
    ActiveRecord::Schema.define do
        create_table :resources do |t|
            t.column :title, :string, :null => false
            t.column :type,  :string
            t.column :host_id, :integer
            t.column :source_file_id, :integer
            t.column :exported, :boolean
        end

        create_table :source_files do |t| 
            t.column :filename, :string
            t.column :path, :string
        end

        create_table :puppet_classes do |t| 
            t.column :name, :string
            t.column :host_id, :integer
            t.column :source_file_id, :integer
        end

        create_table :hosts do |t|
            t.column :name, :string, :null => false
            t.column :ip, :string
            t.column :connect, :date
            #Use updated_at to automatically add timestamp on save.
            t.column :updated_at, :date
            t.column :source_file_id, :integer
        end

        create_table :fact_names do |t| 
            t.column :name, :string, :null => false
            t.column :host_id, :integer, :null => false
        end

        create_table :fact_values do |t| 
            t.column :value, :string, :null => false
            t.column :fact_name_id, :integer, :null => false
        end 

        create_table :param_values do |t|
            t.column :value,  :string, :null => false
            t.column :param_name_id, :integer, :null => false
        end
 
        create_table :param_names do |t| 
            t.column :name, :string, :null => false
            t.column :resource_id, :integer
        end

        create_table :tags do |t| 
            t.column :name, :string
        end 

        create_table :taggings do |t| 
            t.column :tag_id, :integer
            t.column :taggable_id, :integer
            t.column :taggable_type, :string
        end
    end
end
end