a9c6bc2a28
One-time script to clean up any search records that were indexed before the searchable? guard was added. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
23 lines
635 B
Ruby
Executable File
23 lines
635 B
Ruby
Executable File
#!/usr/bin/env ruby
|
|
|
|
require_relative "../../config/environment"
|
|
|
|
total_deleted = 0
|
|
|
|
Account.find_each do |account|
|
|
search_record_class = Search::Record.for(account.id)
|
|
|
|
# Find search records for draft cards (both Card and Comment searchables)
|
|
draft_card_ids = Card.where(account_id: account.id, status: "drafted").pluck(:id)
|
|
|
|
if draft_card_ids.any?
|
|
count = search_record_class.where(card_id: draft_card_ids).delete_all
|
|
if count > 0
|
|
puts "#{account.name}: deleted #{count} search records for draft cards"
|
|
total_deleted += count
|
|
end
|
|
end
|
|
end
|
|
|
|
puts "Migration completed! Total deleted: #{total_deleted}"
|