summaryrefslogtreecommitdiffstats
path: root/lib/puppet/rails/database
diff options
context:
space:
mode:
Diffstat (limited to 'lib/puppet/rails/database')
-rw-r--r--lib/puppet/rails/database/001_add_indexes.rb38
1 files changed, 38 insertions, 0 deletions
diff --git a/lib/puppet/rails/database/001_add_indexes.rb b/lib/puppet/rails/database/001_add_indexes.rb
new file mode 100644
index 000000000..456501e52
--- /dev/null
+++ b/lib/puppet/rails/database/001_add_indexes.rb
@@ -0,0 +1,38 @@
+class AddIndexes < ActiveRecord::Migration
+ INDEXES = {
+ :resources => [[:title, :restype], :host_id, :exported],
+ :source_files => [:filename, :path],
+ :puppet_classes => [:name, :host_id],
+ :hosts => [:name, :ip, :updated_at],
+ :fact_names => [:name, :host_id],
+ #:fact_values => [:value, :fact_name_id],
+ #:param_values => [:value, :param_name_id],
+ :param_names => [:name, :resource_id],
+ :tags => [:name, :updated_at],
+ :taggings => [:tag_id, :taggable_id, :taggable_type]
+ }
+
+ def self.up
+ puts "trying"
+ # Add all of our initial indexes
+ INDEXES.each do |table, indexes|
+ indexes.each do |index|
+ if index.to_s =~ /_id/
+ add_index table, index, :integer => true
+ else
+ add_index table, index
+ end
+ end
+ end
+ end
+
+ def self.down
+ INDEXES.each do |table, indexes|
+ indexes.each do |index|
+ remove_index table, index
+ end
+ end
+ end
+end
+
+# $Id$