diff --git a/backend/priv/repo/migrations/20190821203820_add_crawl_interaction_on_delete.exs b/backend/priv/repo/migrations/20190821203820_add_crawl_interaction_on_delete.exs new file mode 100644 index 0000000..b0f999d --- /dev/null +++ b/backend/priv/repo/migrations/20190821203820_add_crawl_interaction_on_delete.exs @@ -0,0 +1,25 @@ +defmodule Backend.Repo.Migrations.AddCrawlInteractionOnDelete do + use Ecto.Migration + + def change do + execute( + "ALTER TABLE crawl_interactions DROP CONSTRAINT crawl_interactions_source_domain_fkey", + "ALTER TABLE crawl_interactions ADD CONSTRAINT crawl_interactions_source_domain_fkey FOREIGN KEY (source_domain) REFERENCES instances(domain)" + ) + + execute( + "ALTER TABLE crawl_interactions ADD CONSTRAINT crawl_interactions_source_domain_fkey FOREIGN KEY (source_domain) REFERENCES instances(domain) ON DELETE CASCADE", + "ALTER TABLE crawl_interactions DROP CONSTRAINT crawl_interactions_source_domain_fkey" + ) + + execute( + "ALTER TABLE crawl_interactions DROP CONSTRAINT crawl_interactions_target_domain_fkey", + "ALTER TABLE crawl_interactions ADD CONSTRAINT crawl_interactions_target_domain_fkey FOREIGN KEY (target_domain) REFERENCES instances(domain)" + ) + + execute( + "ALTER TABLE crawl_interactions ADD CONSTRAINT crawl_interactions_target_domain_fkey FOREIGN KEY (target_domain) REFERENCES instances(domain) ON DELETE CASCADE", + "ALTER TABLE crawl_interactions DROP CONSTRAINT crawl_interactions_target_domain_fkey" + ) + end +end