1 CREATE TABLE condition_descriptions (
2 parent_id INTEGER NOT NULL,
3 timestamp TEXT NOT NULL,
4 description TEXT NOT NULL,
5 PRIMARY KEY (parent_id, timestamp),
6 FOREIGN KEY (parent_id) REFERENCES conditions(id)
8 CREATE TABLE condition_titles (
9 parent_id INTEGER NOT NULL,
10 timestamp TEXT NOT NULL,
12 PRIMARY KEY (parent_id, timestamp),
13 FOREIGN KEY (parent_id) REFERENCES conditions(id)
15 CREATE TABLE conditions (
16 id INTEGER PRIMARY KEY,
17 is_active BOOLEAN NOT NULL
20 date TEXT PRIMARY KEY,
23 CREATE TABLE process_conditions (
24 process INTEGER NOT NULL,
25 condition INTEGER NOT NULL,
26 PRIMARY KEY (process, condition),
27 FOREIGN KEY (process) REFERENCES processes(id),
28 FOREIGN KEY (condition) REFERENCES conditions(id)
30 CREATE TABLE process_descriptions (
31 parent_id INTEGER NOT NULL,
32 timestamp TEXT NOT NULL,
33 description TEXT NOT NULL,
34 PRIMARY KEY (parent_id, timestamp),
35 FOREIGN KEY (parent_id) REFERENCES processes(id)
37 CREATE TABLE process_efforts (
38 parent_id INTEGER NOT NULL,
39 timestamp TEXT NOT NULL,
41 PRIMARY KEY (parent_id, timestamp),
42 FOREIGN KEY (parent_id) REFERENCES processes(id)
44 CREATE TABLE process_fulfills (
45 process INTEGER NOT NULL,
46 condition INTEGER NOT NULL,
47 PRIMARY KEY(process, condition),
48 FOREIGN KEY (process) REFERENCES processes(id),
49 FOREIGN KEY (condition) REFERENCES conditions(id)
51 CREATE TABLE process_steps (
52 step_id INTEGER PRIMARY KEY,
53 owner_id INTEGER NOT NULL,
54 step_process_id INTEGER NOT NULL,
55 parent_step_id INTEGER,
56 FOREIGN KEY (owner_id) REFERENCES processes(id),
57 FOREIGN KEY (step_process_id) REFERENCES processes(id),
58 FOREIGN KEY (parent_step_id) REFERENCES process_steps(step_id)
60 CREATE TABLE process_titles (
61 parent_id INTEGER NOT NULL,
62 timestamp TEXT NOT NULL,
64 PRIMARY KEY (parent_id, timestamp),
65 FOREIGN KEY (parent_id) REFERENCES processes(id)
67 CREATE TABLE process_undoes (
68 process INTEGER NOT NULL,
69 condition INTEGER NOT NULL,
70 PRIMARY KEY(process, condition),
71 FOREIGN KEY (process) REFERENCES processes(id),
72 FOREIGN KEY (condition) REFERENCES conditions(id)
74 CREATE TABLE processes (
75 id INTEGER PRIMARY KEY
77 CREATE TABLE todo_children (
78 parent INTEGER NOT NULL,
79 child INTEGER NOT NULL,
80 PRIMARY KEY (parent, child),
81 FOREIGN KEY (parent) REFERENCES todos(id),
82 FOREIGN KEY (child) REFERENCES todos(id)
84 CREATE TABLE todo_conditions (
85 todo INTEGER NOT NULL,
86 condition INTEGER NOT NULL,
87 PRIMARY KEY(todo, condition),
88 FOREIGN KEY (todo) REFERENCES todos(id),
89 FOREIGN KEY (condition) REFERENCES conditions(id)
91 CREATE TABLE todo_fulfills (
92 todo INTEGER NOT NULL,
93 condition INTEGER NOT NULL,
94 PRIMARY KEY(todo, condition),
95 FOREIGN KEY (todo) REFERENCES todos(id),
96 FOREIGN KEY (condition) REFERENCES conditions(id)
98 CREATE TABLE todo_undoes (
99 todo INTEGER NOT NULL,
100 condition INTEGER NOT NULL,
101 PRIMARY KEY(todo, condition),
102 FOREIGN KEY (todo) REFERENCES todos(id),
103 FOREIGN KEY (condition) REFERENCES conditions(id)
106 id INTEGER PRIMARY KEY,
107 process_id INTEGER NOT NULL,
108 is_done BOOLEAN NOT NULL,
110 FOREIGN KEY (process_id) REFERENCES processes(id),
111 FOREIGN KEY (day) REFERENCES days(date)