mirror of
https://gitlink.org.cn/Gitlink/forgeplus.git
synced 2026-05-03 03:40:49 +08:00
init project
This commit is contained in:
22
lib/tasks/user_profile_completed_transfer.rake
Normal file
22
lib/tasks/user_profile_completed_transfer.rake
Normal file
@@ -0,0 +1,22 @@
|
||||
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
|
||||
Reference in New Issue
Block a user