discourse/db/migrate/20230111223803_delete_misconfigured_embeddable_hosts.rb
Krzysztof Kotlarek 023accf6a8 FIX: deleted misconfigured embeddable hosts (#19833)
When EmbeddableHost is configured for a specific category and that category is deleted, then EmbeddableHost should be deleted as well.

In addition, migration was added to fix existing data.
2023-01-25 13:48:49 +02:00

20 lines
473 B
Ruby

# frozen_string_literal: true
class DeleteMisconfiguredEmbeddableHosts < ActiveRecord::Migration[7.0]
def up
execute(<<~SQL)
DELETE FROM embeddable_hosts eh1
WHERE eh1.id IN (
SELECT eh2.id FROM embeddable_hosts eh2
LEFT JOIN categories ON categories.id = eh2.category_id
WHERE eh2.category_id IS NOT NULL
AND categories.id IS NULL
)
SQL
end
def down
raise ActiveRecord::IrreversibleMigration
end
end