1CREATE TABLE IF NOT EXISTS tasks (
2 id TEXT PRIMARY KEY,
3 title TEXT NOT NULL,
4 description TEXT DEFAULT '',
5 type TEXT DEFAULT 'task',
6 priority INTEGER DEFAULT 2,
7 status TEXT DEFAULT 'open',
8 parent TEXT DEFAULT '',
9 created TEXT NOT NULL,
10 updated TEXT NOT NULL
11);
12
13CREATE TABLE IF NOT EXISTS labels (
14 task_id TEXT,
15 label TEXT,
16 PRIMARY KEY (task_id, label),
17 FOREIGN KEY (task_id) REFERENCES tasks(id)
18);
19
20CREATE TABLE IF NOT EXISTS blockers (
21 task_id TEXT,
22 blocker_id TEXT,
23 PRIMARY KEY (task_id, blocker_id),
24 FOREIGN KEY (task_id) REFERENCES tasks(id)
25);
26
27CREATE INDEX IF NOT EXISTS idx_status ON tasks(status);
28CREATE INDEX IF NOT EXISTS idx_priority ON tasks(priority);
29CREATE INDEX IF NOT EXISTS idx_parent ON tasks(parent);