kaneo (minimalist kanban) fork to experiment adding a tangled integration
github.com/usekaneo/kaneo
1DELETE FROM "activity" a
2USING "activity" b
3WHERE a.ctid < b.ctid
4 AND a.task_id = b.task_id
5 AND a.external_source = b.external_source
6 AND a.external_url = b.external_url
7 AND a.external_url IS NOT NULL;
8
9DELETE FROM "label" a
10USING "label" b
11WHERE a.ctid < b.ctid
12 AND a.task_id = b.task_id
13 AND a.name = b.name
14 AND a.task_id IS NOT NULL;
15
16DELETE FROM "label" a
17USING "label" b
18WHERE a.ctid < b.ctid
19 AND a.workspace_id = b.workspace_id
20 AND a.name = b.name
21 AND a.task_id IS NULL
22 AND b.task_id IS NULL
23 AND a.workspace_id IS NOT NULL;
24
25ALTER TABLE "activity"
26 ADD CONSTRAINT "activity_task_external_source_external_url_unique"
27 UNIQUE ("task_id", "external_source", "external_url");
28
29ALTER TABLE "label"
30 ADD CONSTRAINT "label_task_name_unique"
31 UNIQUE ("task_id", "name");
32
33CREATE UNIQUE INDEX "label_workspace_name_unique"
34 ON "label" ("workspace_id", "name")
35 WHERE "task_id" IS NULL;