forgeplus/lib/tasks/user_login.rake

28 lines
962 B
Ruby

namespace :user do
task :update_login => :environment do
begin
user_count = ENV['args'].split(",")[0].to_i # 更新的用户数
status = ENV['args'].split(",")[1] # 测试用户类型
base_login = ENV['args'].split(",")[2] # 基本的用户参数
users = User.where(:is_test => status).limit(user_count)
users.each_with_index do |user, i|
puts i
no = sprintf("%04d", i)
login = "#{base_login}#{no}"
puts no
puts login
sql1 = "update users set login='#{login}' where id=#{user.id}"
sql2 = "update users set lastname='#{login}' where id=#{user.id}"
sql3 = "update users set nickname='#{login}' where id=#{user.id}"
ActiveRecord::Base.connection.execute(sql1)
ActiveRecord::Base.connection.execute(sql2)
ActiveRecord::Base.connection.execute(sql3)
end
rescue Exception => e
Rails.logger.error(e.message)
end
end
end