Files
fizzy/script/migrations/20260123-remove-draft-cards-from-search-index.rb
T
Mike Dalessio a9c6bc2a28 Add migration to remove draft cards from search index
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>
2026-01-23 12:13:10 -05:00

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}"