Sha256: ee51669df025983e0c20ae1046fbbfb037bc4afa3cb54636c24cfe643bf65bec

Contents?: true

Size: 725 Bytes

Versions: 5

Compression:

Stored size: 725 Bytes

Contents

class AddDigestToMessages < ActiveRecord::Migration
  def self.up
    if ActiveRecord::Base.connection.instance_values["config"][:adapter] == "mysql" or ActiveRecord::Base.connection.instance_values["config"][:adapter] == "mysql2"
      execute "DROP INDEX value ON messages" if index_exists?(:messages, :value, :name => 'value')
    else
      remove_index(:messages, :value) if index_exists?(:messages, :value)
    end
    add_column :messages, :digest, :string
    Message.find_each {|m| m.update_attribute(:digest, Digest::SHA1.hexdigest(m.value)) }
    add_index :messages, :digest
  end

  def self.down
    remove_index :messages, :digest
    remove_column :messages, :digest
    add_index :messages, :value
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
foreman_discovery-1.0.0 test/foreman_app/db/migrate/20130121130826_add_digest_to_messages.rb
foreman_discovery-1.0.0.rc4 test/foreman_app/db/migrate/20130121130826_add_digest_to_messages.rb
foreman_discovery-1.0.0.rc3 test/foreman_app/db/migrate/20130121130826_add_digest_to_messages.rb
foreman_discovery-1.0.0.rc2 test/foreman_app/db/migrate/20130121130826_add_digest_to_messages.rb
foreman_discovery-1.0.0.rc1 test/foreman_app/db/migrate/20130121130826_add_digest_to_messages.rb