Sha256: 5b0d1e84dc91116e47bc3e4f33a7a9ea4d98f6fce03b8f40170ada3ecc382df0

Contents?: true

Size: 1011 Bytes

Versions: 7

Compression:

Stored size: 1011 Bytes

Contents

# frozen_string_literal: true

class ActivitiesToVersions < ActiveRecord::Migration[4.2]
  def up
    events = {
      'created'     => 'create',
      'viewed'      => 'view',
      'updated'     => 'update',
      'deleted'     => 'destroy',
      'rejected'    => 'reject',
      'won'         => 'won',
      'completed'   => 'complete',
      'reassigned'  => 'reassign',
      'rescheduled' => 'reschedule'
    }

    activities = connection.select_all 'SELECT * FROM activities'
    activities.each do |activity|
      # commented and email activities don't translate well so ignore them
      next unless event = events[activity['action']]

      attributes = {
        item_id: activity['subject_id'],
        item_type: activity['subject_type'],
        whodunnit: activity['user_id'],
        event: event,
        created_at: activity['created_at']
      }
      version = Version.new
      attributes.each { |k, v| version.send("#{k}=", v) }
      version.save!
    end
  end

  def down
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
fat_free_crm-0.22.1 db/migrate/20120316045804_activities_to_versions.rb
fat_free_crm-0.22.0 db/migrate/20120316045804_activities_to_versions.rb
fat_free_crm-0.21.0 db/migrate/20120316045804_activities_to_versions.rb
fat_free_crm-0.20.1 db/migrate/20120316045804_activities_to_versions.rb
fat_free_crm-0.20.0 db/migrate/20120316045804_activities_to_versions.rb
fat_free_crm-0.19.2 db/migrate/20120316045804_activities_to_versions.rb
fat_free_crm-0.19.0 db/migrate/20120316045804_activities_to_versions.rb