discourse-ai/db/migrate/20241125132452_unique_ai_su...

20 lines
549 B
Ruby

# frozen_string_literal: true
class UniqueAiSummaries < ActiveRecord::Migration[7.1]
def up
execute <<~SQL
DELETE FROM ai_summaries ais1
USING ai_summaries ais2
WHERE ais1.id < ais2.id
AND ais1.target_id = ais2.target_id
AND ais1.target_type = ais2.target_type
AND ais1.summary_type = ais2.summary_type
SQL
add_index :ai_summaries, %i[target_id target_type summary_type], unique: true
end
def down
remove_index :ai_summaries, column: %i[target_id target_type summary_type]
end
end