X-Git-Url: https://plomlompom.com/repos/foo.html?a=blobdiff_plain;ds=sidebyside;f=scripts%2Finit.sql;fp=scripts%2Finit.sql;h=807e1e7a0fc06b3da97204e99a23b2342306272a;hb=34741b65438149b4e02f1e2bb4f8fdba5df5a667;hp=9f39305d5896b605a8fc09b4f47de073d4a295cd;hpb=a0fc8b9ddabe3af5b2cc0592513ba3e69d5fd9d4;p=plomtask
diff --git a/scripts/init.sql b/scripts/init.sql
index 9f39305..807e1e7 100644
--- a/scripts/init.sql
+++ b/scripts/init.sql
@@ -1,20 +1,52 @@
+CREATE TABLE condition_descriptions (
+ parent_id INTEGER NOT NULL,
+ timestamp TEXT NOT NULL,
+ description TEXT NOT NULL,
+ PRIMARY KEY (parent_id, timestamp),
+ FOREIGN KEY (parent_id) REFERENCES conditions(id)
+);
+CREATE TABLE condition_titles (
+ parent_id INTEGER NOT NULL,
+ timestamp TEXT NOT NULL,
+ title TEXT NOT NULL,
+ PRIMARY KEY (parent_id, timestamp),
+ FOREIGN KEY (parent_id) REFERENCES conditions(id)
+);
+CREATE TABLE conditions (
+ id INTEGER PRIMARY KEY,
+ is_active BOOLEAN NOT NULL
+);
CREATE TABLE days (
date TEXT PRIMARY KEY,
comment TEXT NOT NULL
);
+CREATE TABLE process_conditions (
+ process INTEGER NOT NULL,
+ condition INTEGER NOT NULL,
+ PRIMARY KEY (process, condition),
+ FOREIGN KEY (process) REFERENCES processes(id),
+ FOREIGN KEY (condition) REFERENCES conditions(id)
+);
CREATE TABLE process_descriptions (
- process_id INTEGER NOT NULL,
+ parent_id INTEGER NOT NULL,
timestamp TEXT NOT NULL,
description TEXT NOT NULL,
- PRIMARY KEY (process_id, timestamp),
- FOREIGN KEY (process_id) REFERENCES processes(id)
+ PRIMARY KEY (parent_id, timestamp),
+ FOREIGN KEY (parent_id) REFERENCES processes(id)
);
CREATE TABLE process_efforts (
- process_id INTEGER NOT NULL,
+ parent_id INTEGER NOT NULL,
timestamp TEXT NOT NULL,
effort REAL NOT NULL,
- PRIMARY KEY (process_id, timestamp),
- FOREIGN KEY (process_id) REFERENCES processes(id)
+ PRIMARY KEY (parent_id, timestamp),
+ FOREIGN KEY (parent_id) REFERENCES processes(id)
+);
+CREATE TABLE process_fulfills (
+ process INTEGER NOT NULL,
+ condition INTEGER NOT NULL,
+ PRIMARY KEY(process, condition),
+ FOREIGN KEY (process) REFERENCES processes(id),
+ FOREIGN KEY (condition) REFERENCES conditions(id)
);
CREATE TABLE process_steps (
step_id INTEGER PRIMARY KEY,
@@ -26,11 +58,18 @@ CREATE TABLE process_steps (
FOREIGN KEY (parent_step_id) REFERENCES process_steps(step_id)
);
CREATE TABLE process_titles (
- process_id INTEGER NOT NULL,
+ parent_id INTEGER NOT NULL,
timestamp TEXT NOT NULL,
title TEXT NOT NULL,
- PRIMARY KEY (process_id, timestamp),
- FOREIGN KEY (process_id) REFERENCES processes(id)
+ PRIMARY KEY (parent_id, timestamp),
+ FOREIGN KEY (parent_id) REFERENCES processes(id)
+);
+CREATE TABLE process_undoes (
+ process INTEGER NOT NULL,
+ condition INTEGER NOT NULL,
+ PRIMARY KEY(process, condition),
+ FOREIGN KEY (process) REFERENCES processes(id),
+ FOREIGN KEY (condition) REFERENCES conditions(id)
);
CREATE TABLE processes (
id INTEGER PRIMARY KEY
@@ -42,6 +81,27 @@ CREATE TABLE todo_children (
FOREIGN KEY (parent) REFERENCES todos(id),
FOREIGN KEY (child) REFERENCES todos(id)
);
+CREATE TABLE todo_conditions (
+ todo INTEGER NOT NULL,
+ condition INTEGER NOT NULL,
+ PRIMARY KEY(todo, condition),
+ FOREIGN KEY (todo) REFERENCES todos(id),
+ FOREIGN KEY (condition) REFERENCES conditions(id)
+);
+CREATE TABLE todo_fulfills (
+ todo INTEGER NOT NULL,
+ condition INTEGER NOT NULL,
+ PRIMARY KEY(todo, condition),
+ FOREIGN KEY (todo) REFERENCES todos(id),
+ FOREIGN KEY (condition) REFERENCES conditions(id)
+);
+CREATE TABLE todo_undoes (
+ todo INTEGER NOT NULL,
+ condition INTEGER NOT NULL,
+ PRIMARY KEY(todo, condition),
+ FOREIGN KEY (todo) REFERENCES todos(id),
+ FOREIGN KEY (condition) REFERENCES conditions(id)
+);
CREATE TABLE todos (
id INTEGER PRIMARY KEY,
process_id INTEGER NOT NULL,