To check out this repository please hg clone the following URL, or open the URL using EasyMercurial or your preferred Mercurial client.

Statistics Download as Zip
| Branch: | Tag: | Revision:

root / db / migrate / 101_populate_changesets_user_id.rb @ 443:350acce374a2

History | View | Annotate | Download (623 Bytes)

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

    
15
  def self.down
16
    Changeset.update_all('user_id = NULL')
17
  end
18
end