Sha256: 8afebf7c7c522ab9ae010021d0f8a5859de182e453e41928728f66ded967b50b

Contents?: true

Size: 629 Bytes

Versions: 34

Compression:

Stored size: 629 Bytes

Contents

class PopulateChangesetsUserId < ActiveRecord::Migration
  def self.up
    committers = Changeset.connection.select_values("SELECT DISTINCT committer FROM #{Changeset.table_name}")
    committers.each do |committer|
      next if committer.blank?
      if committer.strip =~ /^([^<]+)(<(.*)>)?$/
        username, email = $1.strip, $3
        u = User.find_by_login(username)
        u ||= User.find_by_mail(email) unless email.blank?
        Changeset.where(["committer = ?", committer]).update_all("user_id = #{u.id}") unless u.nil?
      end
    end
  end

  def self.down
    Changeset.update_all('user_id = NULL')
  end
end

Version data entries

34 entries across 34 versions & 1 rubygems

Version Path
redmine_extensions-0.0.39 spec/redmine/db/migrate/101_populate_changesets_user_id.rb
redmine_extensions-0.0.38 spec/redmine/db/migrate/101_populate_changesets_user_id.rb
redmine_extensions-0.0.37 spec/redmine/db/migrate/101_populate_changesets_user_id.rb
redmine_extensions-0.1.11 spec/redmine/db/migrate/101_populate_changesets_user_id.rb
redmine_extensions-0.1.10 spec/redmine/db/migrate/101_populate_changesets_user_id.rb
redmine_extensions-0.0.36 spec/redmine/db/migrate/101_populate_changesets_user_id.rb
redmine_extensions-0.0.34 spec/redmine/db/migrate/101_populate_changesets_user_id.rb
redmine_extensions-0.1.09 spec/redmine/db/migrate/101_populate_changesets_user_id.rb
redmine_extensions-0.1.07 spec/redmine/db/migrate/101_populate_changesets_user_id.rb
redmine_extensions-0.1.06 spec/redmine/db/migrate/101_populate_changesets_user_id.rb
redmine_extensions-0.1.05 spec/redmine/db/migrate/101_populate_changesets_user_id.rb
redmine_extensions-0.1.04 spec/redmine/db/migrate/101_populate_changesets_user_id.rb
redmine_extensions-0.1.03 spec/redmine/db/migrate/101_populate_changesets_user_id.rb
redmine_extensions-0.0.33 spec/redmine/db/migrate/101_populate_changesets_user_id.rb
redmine_extensions-0.1.02 spec/redmine/db/migrate/101_populate_changesets_user_id.rb
redmine_extensions-0.1.01 spec/redmine/db/migrate/101_populate_changesets_user_id.rb
redmine_extensions-0.0.29 spec/redmine/db/migrate/101_populate_changesets_user_id.rb
redmine_extensions-0.0.28 spec/redmine/db/migrate/101_populate_changesets_user_id.rb
redmine_extensions-0.0.27 spec/redmine/db/migrate/101_populate_changesets_user_id.rb
redmine_extensions-0.0.24 spec/redmine/db/migrate/101_populate_changesets_user_id.rb