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.
22 lines
695 B
22 lines
695 B
desc 'transfer user profile completed data'
|
|
task transfer_user_profile_completed: :environment do
|
|
buffer_size = 1000
|
|
|
|
ids = []
|
|
User.includes(:user_extension).find_each do |user|
|
|
extension = user.user_extension
|
|
next if extension.blank? || user.lastname.blank? || user.mail.blank? || extension.school_id.blank? || extension.identity.blank?
|
|
|
|
ids << user.id
|
|
if ids.size == buffer_size
|
|
batch_update_user_profile_completed(ids)
|
|
ids.clear
|
|
end
|
|
end
|
|
|
|
batch_update_user_profile_completed(ids) if ids.present?
|
|
end
|
|
|
|
def batch_update_user_profile_completed(ids)
|
|
User.connection.execute("UPDATE users SET profile_completed = true WHERE id IN (#{ids.join(',')})")
|
|
end |