27 lines
611 B
Ruby
27 lines
611 B
Ruby
# frozen_string_literal: true
|
|
|
|
class AddPostImageIndexes < ActiveRecord::Migration[5.2]
|
|
def change
|
|
|
|
%w{
|
|
large_images
|
|
broken_images
|
|
downloaded_images
|
|
}.each do |field|
|
|
|
|
execute <<~SQL
|
|
DELETE FROM post_custom_fields f
|
|
WHERE name = '#{field}' AND id > (
|
|
SELECT MIN(f2.id) FROM post_custom_fields f2
|
|
WHERE f2.post_id = f.post_id AND f2.name = f.name
|
|
)
|
|
SQL
|
|
|
|
add_index :post_custom_fields, [:post_id],
|
|
name: "post_custom_field_#{field}_idx",
|
|
unique: true,
|
|
where: "name = '#{field}'"
|
|
end
|
|
end
|
|
end
|