Sha256: 6f55bdde562db2bee20df9094fd24117da7ce3dd96588b66bf02d6bcbc114600

Contents?: true

Size: 1.37 KB

Versions: 5

Compression:

Stored size: 1.37 KB

Contents

class AddAuditableNameAndAssociatedNameToAudit < ActiveRecord::Migration
  def self.up
    add_column :audits, :auditable_name, :string  unless column_exists? :audits, :auditable_name
    add_column :audits, :associated_name, :string unless column_exists? :audits, :associated_name
    add_index :audits, :id                        unless index_exists?  :audits, :id
    Audit.reset_column_information
    say "About to review all audits, this may take a while..."
    Audit.includes(:user, :auditable, :associated).find_in_batches do |audits|
      audits.each do |audit|
        attr = {}
        auditable_name  ||= audit.auditable.try(:to_label)  rescue nil
        associated_name ||= audit.associated.try(:to_label) rescue nil
        attr[:auditable_name] = auditable_name  if auditable_name
        attr[:associated_name]= associated_name if associated_name
        if audit.username.empty? and audit.user
          username = audit.user.to_label rescue nil
          attr[:username] = username if !username.empty?
        end
        audit.update_multiple_attribute(attr) if attr.length > 0
      end
    end
  end

  def self.down
    remove_index :audits, :id               if  index_exists?  :audits, :id
    remove_column :audits, :associated_name if  column_exists? :audits, :associated_name
    remove_column :audits, :auditable_name  if  column_exists? :audits, :auditable_name
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

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