20 lines
549 B
Ruby
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
|