Sha256: 69d148b912b1de9c6178cdff676a3555374b9238debbc66eef9f9a24fe866455

Contents?: true

Size: 1.24 KB

Versions: 12

Compression:

Stored size: 1.24 KB

Contents

class ReplaceNamespaceColumnsWithLabelForSearches < ActiveRecord::Migration
  def up
    add_column :discerner_searches, :label, :string

    Discerner::Search.transaction do
      Discerner::Search.all.each do |search|
        if !search.namespace_id.blank?
          search.search_namespaces << Discerner::SearchNamespace.create(namespace_type: search.namespace_type, namespace_id: search.namespace_id)
        elsif !search.namespace_type.blank?
          search.label = search.namespace_type
        end
        search.save!
      end
      remove_column :discerner_searches, :namespace_type
      remove_column :discerner_searches, :namespace_id
    end
  end

  def down
    add_column :discerner_searches, :namespace_id, :integer
    add_column :discerner_searches, :namespace_type, :string

    Discerner::Search.transaction do
      Discerner::Search.all.each do |search|
        if search.search_namespaces.any?
          search.namespace_id = search.search_namespaces.first.namespace_id
          search.namespace_type = search.search_namespaces.first.namespace_type
        elsif !search.label.blank?
          search.namespace_type = search.label
        end
        search.save!
      end
    end

    remove_column :discerner_searches, :label
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
discerner-2.0.16 db/migrate/20140915032608_replace_namespace_columns_with_label_for_searches.rb
discerner-2.0.15 db/migrate/20140915032608_replace_namespace_columns_with_label_for_searches.rb
discerner-2.0.14 db/migrate/20140915032608_replace_namespace_columns_with_label_for_searches.rb
discerner-2.0.13 db/migrate/20140915032608_replace_namespace_columns_with_label_for_searches.rb
discerner-2.0.12 db/migrate/20140915032608_replace_namespace_columns_with_label_for_searches.rb
discerner-2.0.11 db/migrate/20140915032608_replace_namespace_columns_with_label_for_searches.rb
discerner-2.0.10 db/migrate/20140915032608_replace_namespace_columns_with_label_for_searches.rb
discerner-2.0.9 db/migrate/20140915032608_replace_namespace_columns_with_label_for_searches.rb
discerner-2.0.8 db/migrate/20140915032608_replace_namespace_columns_with_label_for_searches.rb
discerner-2.0.7 db/migrate/20140915032608_replace_namespace_columns_with_label_for_searches.rb
discerner-2.0.6 db/migrate/20140915032608_replace_namespace_columns_with_label_for_searches.rb
discerner-2.0.5 db/migrate/20140915032608_replace_namespace_columns_with_label_for_searches.rb