foreman/db/migrate/20140325093623_add_lowerlogin_to_users.rb @ 9d43fc71
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
|