0005_cascade_fks.down.sql

 1-- Revert labels/blockers foreign keys to definitions without ON DELETE CASCADE.
 2
 3CREATE TABLE labels_old (
 4    task_id TEXT,
 5    label   TEXT,
 6    PRIMARY KEY (task_id, label),
 7    FOREIGN KEY (task_id) REFERENCES tasks(id)
 8);
 9
10INSERT INTO labels_old (task_id, label)
11    SELECT task_id, label FROM labels;
12
13DROP TABLE labels;
14
15ALTER TABLE labels_old RENAME TO labels;
16
17CREATE TABLE blockers_old (
18    task_id    TEXT,
19    blocker_id TEXT,
20    PRIMARY KEY (task_id, blocker_id),
21    FOREIGN KEY (task_id) REFERENCES tasks(id),
22    FOREIGN KEY (blocker_id) REFERENCES tasks(id)
23);
24
25INSERT INTO blockers_old (task_id, blocker_id)
26    SELECT task_id, blocker_id FROM blockers;
27
28DROP TABLE blockers;
29
30ALTER TABLE blockers_old RENAME TO blockers;