Project

General

Profile

Download (740 Bytes) Statistics
| Branch: | Tag: | Revision:
class AddLowerloginToUsers < ActiveRecord::Migration[4.2]
def up
add_column :users, :lower_login, :string, :limit => 255
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
dupe += 1 while User.find_by_login(new_login = "#{user.login}#{dupe}")
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
(202-202/405)