Project

General

Profile

Download (740 Bytes) Statistics
| Branch: | Tag: | Revision:
bc038098 Dominic Cleal
class AddLowerloginToUsers < ActiveRecord::Migration[4.2]
6be0508b Stephen Benjamin
def up
3339b4d8 Dominic Cleal
add_column :users, :lower_login, :string, :limit => 255
6be0508b Stephen Benjamin
add_index :users, :lower_login, :unique => true

User.reset_column_information

User.unscoped.order("last_login_on DESC").each do |user|
if User.find_by_login(user.login.downcase)
dupe = 1
9d43fc71 Michael Moll
dupe += 1 while User.find_by_login(new_login = "#{user.login}#{dupe}")
6be0508b Stephen Benjamin
say "Renaming duplicate user #{user.login} to #{new_login}"
user.login = new_login
else
user.lower_login = user.login.downcase
end

user.save(:validate => false)
end
end

def down
remove_index :users, :lower_login
remove_column :users, :lower_login
end
end