You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
educoder/db/migrate/20190621105144_sync_ivalid_...

35 lines
1.2 KiB

class SyncIvalidUsers < ActiveRecord::Migration[5.2]
def change
users = User.where.not(id: 2).find_by_sql("select count(*) as user_count, login from users group by login having user_count>1")
users.each do |user|
valid_users = User.where(login: user.login)
valid_users.each do |valid_user|
unless valid_user.lastname.present?
valid_user.delete
end
end
end
mail_users = User.where.not(id: 2).find_by_sql("select count(*) as user_count, mail from users where mail is not null group by mail having user_count>1")
mail_users.each do |mail_user|
valid_mail_users = User.where(mail: mail_user.mail)
valid_mail_users.each do |valid_mail_user|
unless valid_mail_user.lastname.present?
valid_mail_user.delete
end
end
end
phone_users = User.where.not(id: 2).find_by_sql("select count(*) as user_count, phone from users where phone is not null group by phone having user_count>1")
phone_users.each do |phone_user|
valid_phone_users = User.where(phone: phone_user.phone)
valid_phone_users.each do |valid_phone_user|
unless valid_phone_user.lastname.present?
valid_phone_user.delete
end
end
end
end
end