diff 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
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/migrate/.svn/text-base/101_populate_changesets_user_id.rb.svn-base	Fri Jul 23 15:52:44 2010 +0100
@@ -0,0 +1,18 @@
+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.update_all("user_id = #{u.id}", ["committer = ?", committer]) unless u.nil?
+      end
+    end
+  end
+
+  def self.down
+    Changeset.update_all('user_id = NULL')
+  end
+end