diff --git a/doc/schema.sql b/doc/schema.sql new file mode 100644 index 0000000..d69e9fe --- /dev/null +++ b/doc/schema.sql @@ -0,0 +1,24 @@ +BEGIN TRANSACTION; +CREATE TABLE source_files ( + id INTEGER PRIMARY KEY, + filename TEXT UNIQUE COLLATE NOT NULL, + size INTEGER NOT NULL, + hash TEXT, + last_change INTEGER NOT NULL DEFAULT (strftime('%s','now')) + last_seen INTEGER NOT NULL DEFAULT (strftime('%s','now')) +); +CREATE TABLE destinations ( + id INTEGER PRIMARY KEY, + path TEXT UNIQUE COLLATE NOT NULL +); +CREATE TABLE destination_files ( + id INTEGER PRIMARY KEY, + filename TEXT UNIQUE COLLATE NOT NULL, + last_change INTEGER NOT NULL DEFAULT (strftime('%s','now')), + to_delete NOT NULL DEFAULT 0, + update_needed NOT NULL DEFAULT 1, + FOREIGN KEY(source_file) REFERENCES source_files(id), + FOREIGN KEY(destination) REFERENCES destinations(id) +); + +COMMIT;