feat: Sort contacts via name, email, phone_number, last_activity_at (#1870)
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
class AddLastActivityAtToContacts < ActiveRecord::Migration[6.0]
|
||||
def up
|
||||
# rubocop:disable Rails/SkipsModelValidations
|
||||
add_column :contacts, :last_activity_at, :datetime, index: true, default: nil
|
||||
Conversation.find_in_batches do |conversation_batch|
|
||||
conversation_batch.each do |conversation|
|
||||
contact = conversation.contact
|
||||
if contact.last_activity_at.nil? || conversation.updated_at > contact.last_activity_at
|
||||
contact.update_columns(last_activity_at: conversation.updated_at)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Contact.where(additional_attributes: nil).update_all(additional_attributes: {})
|
||||
Contact.where(phone_number: '').update_all(phone_number: nil)
|
||||
# rubocop:enable Rails/SkipsModelValidations
|
||||
end
|
||||
|
||||
def down
|
||||
remove_column :contacts, :last_activity_at, :datetime, index: true, default: nil
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user