home · contact · privacy
Add erroneously uncommited template macros file.
[plomtask] / migrations / init_2.sql
1 CREATE TABLE condition_descriptions (
2     parent INTEGER NOT NULL,
3     timestamp TEXT NOT NULL,
4     description TEXT NOT NULL,
5     PRIMARY KEY (parent, timestamp),
6     FOREIGN KEY (parent) REFERENCES conditions(id)
7 );
8 CREATE TABLE condition_titles (
9     parent INTEGER NOT NULL,
10     timestamp TEXT NOT NULL,
11     title TEXT NOT NULL,
12     PRIMARY KEY (parent, timestamp),
13     FOREIGN KEY (parent) REFERENCES conditions(id)
14 );
15 CREATE TABLE conditions (
16     id INTEGER PRIMARY KEY,
17     is_active BOOLEAN NOT NULL
18 );
19 CREATE TABLE days (
20     id TEXT PRIMARY KEY,
21     comment TEXT NOT NULL
22 );
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)
29 );
30 CREATE TABLE process_descriptions (
31     parent INTEGER NOT NULL,
32     timestamp TEXT NOT NULL,
33     description TEXT NOT NULL,
34     PRIMARY KEY (parent, timestamp),
35     FOREIGN KEY (parent) REFERENCES processes(id)
36 );
37 CREATE TABLE process_disables (
38     process INTEGER NOT NULL,
39     condition INTEGER NOT NULL,
40     PRIMARY KEY(process, condition),
41     FOREIGN KEY (process) REFERENCES processes(id),
42     FOREIGN KEY (condition) REFERENCES conditions(id)
43 );
44 CREATE TABLE process_efforts (
45     parent INTEGER NOT NULL,
46     timestamp TEXT NOT NULL,
47     effort REAL NOT NULL,
48     PRIMARY KEY (parent, timestamp),
49     FOREIGN KEY (parent) REFERENCES processes(id)
50 );
51 CREATE TABLE process_enables (
52     process INTEGER NOT NULL,
53     condition INTEGER NOT NULL,
54     PRIMARY KEY(process, condition),
55     FOREIGN KEY (process) REFERENCES processes(id),
56     FOREIGN KEY (condition) REFERENCES conditions(id)
57 );
58 CREATE TABLE process_steps (
59     id INTEGER PRIMARY KEY,
60     owner INTEGER NOT NULL,
61     step_process INTEGER NOT NULL,
62     parent_step INTEGER,
63     FOREIGN KEY (owner) REFERENCES processes(id),
64     FOREIGN KEY (step_process) REFERENCES processes(id),
65     FOREIGN KEY (parent_step) REFERENCES process_steps(step_id)
66 );
67 CREATE TABLE process_titles (
68     parent INTEGER NOT NULL,
69     timestamp TEXT NOT NULL,
70     title TEXT NOT NULL,
71     PRIMARY KEY (parent, timestamp),
72     FOREIGN KEY (parent) REFERENCES processes(id)
73 );
74 CREATE TABLE processes (
75     id INTEGER PRIMARY KEY
76 );
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)
83 );
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)
90 );
91 CREATE TABLE todo_disables (
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)
97 );
98 CREATE TABLE todo_enables (
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)
104 );
105 CREATE TABLE todos (
106     id INTEGER PRIMARY KEY,
107     process INTEGER NOT NULL,
108     is_done BOOLEAN NOT NULL,
109     day TEXT NOT NULL,
110     comment TEXT NOT NULL DEFAULT "",
111     effort REAL,
112     FOREIGN KEY (process) REFERENCES processes(id),
113     FOREIGN KEY (day) REFERENCES days(id)
114 );