Sha256: b18c83723aad32a9bed419f4bddd050608b8c9adbdd75ca00e544a11f98f1e6f

Contents?: true

Size: 1.39 KB

Versions: 23

Compression:

Stored size: 1.39 KB

Contents

class AddSearchColumnsToDiscernerParameters < ActiveRecord::Migration
  class ParameterCategory < ActiveRecord::Base
    include Discerner::Methods::Models::ParameterCategory
  end

  class Parameter < ActiveRecord::Base
    include Discerner::Methods::Models::Parameter
  end

  def self.up
    add_column :discerner_parameters, :search_model, :string
    add_column :discerner_parameters, :search_attribute, :string

    Discerner::Parameter.order(:id).each do |p|
      p.search_attribute = p.database_name
      p.search_model  = p.parameter_category.parameterized_name
      p.save!
    end

    remove_index :discerner_parameters, :name => 'index_discerner_parameters'
    remove_column :discerner_parameters, :database_name
    add_index :discerner_parameters, [:search_model, :search_attribute, :parameter_category_id, :deleted_at], :unique => true, :name => 'index_discerner_parameters'
  end

  def self.down
    add_column :discerner_parameters, :database_name, :string

    Discerner::Parameter.order(:id).each do |p|
      p.database_name = p.search_attribute
      p.save!
    end

    remove_index :discerner_parameters, :name => 'index_discerner_parameters'
    remove_column :discerner_parameters, :search_model
    remove_column :discerner_parameters, :search_attribute
    add_index :discerner_parameters, [:database_name, :deleted_at], :unique => true, :name => 'index_discerner_parameters'
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
discerner-2.0.16 db/migrate/20130213185818_add_search_columns_to_discerner_parameters.rb
discerner-2.0.15 db/migrate/20130213185818_add_search_columns_to_discerner_parameters.rb
discerner-2.0.14 db/migrate/20130213185818_add_search_columns_to_discerner_parameters.rb
discerner-2.0.13 db/migrate/20130213185818_add_search_columns_to_discerner_parameters.rb
discerner-1.2.2 db/migrate/20130213185818_add_search_columns_to_discerner_parameters.rb
discerner-2.0.12 db/migrate/20130213185818_add_search_columns_to_discerner_parameters.rb
discerner-1.2.1 db/migrate/20130213185818_add_search_columns_to_discerner_parameters.rb
discerner-2.0.11 db/migrate/20130213185818_add_search_columns_to_discerner_parameters.rb
discerner-2.0.10 db/migrate/20130213185818_add_search_columns_to_discerner_parameters.rb
discerner-1.2.0 db/migrate/20130213185818_add_search_columns_to_discerner_parameters.rb
discerner-2.0.9 db/migrate/20130213185818_add_search_columns_to_discerner_parameters.rb
discerner-2.0.8 db/migrate/20130213185818_add_search_columns_to_discerner_parameters.rb
discerner-2.0.7 db/migrate/20130213185818_add_search_columns_to_discerner_parameters.rb
discerner-2.0.6 db/migrate/20130213185818_add_search_columns_to_discerner_parameters.rb
discerner-2.0.5 db/migrate/20130213185818_add_search_columns_to_discerner_parameters.rb
discerner-2.0.4 db/migrate/20130213185818_add_search_columns_to_discerner_parameters.rb
discerner-2.0.3 db/migrate/20130213185818_add_search_columns_to_discerner_parameters.rb
discerner-2.0.2 db/migrate/20130213185818_add_search_columns_to_discerner_parameters.rb
discerner-2.0.1 db/migrate/20130213185818_add_search_columns_to_discerner_parameters.rb
discerner-2.0.0 db/migrate/20130213185818_add_search_columns_to_discerner_parameters.rb