Mercurial > hg > soundsoftware-site
comparison db/migrate/.svn/text-base/101_populate_changesets_user_id.rb.svn-base @ 0:513646585e45
* Import Redmine trunk SVN rev 3859
author | Chris Cannam |
---|---|
date | Fri, 23 Jul 2010 15:52:44 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:513646585e45 |
---|---|
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 |