-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinit.sql
More file actions
42 lines (37 loc) · 1.44 KB
/
init.sql
File metadata and controls
42 lines (37 loc) · 1.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
CREATE TABLE devices(id INTEGER PRIMARY KEY AUTOINCREMENT,
name VARCHAR(200) NOT NULL,
location TEXT DEFAULT NULL,
manual TEXT DEFAULT NULL,
sticker_id VARCHAR(100) UNIQUE NOT NULL,
comment TEXT DEFAULT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL);
CREATE TRIGGER devices_ts_update
AFTER UPDATE ON devices FOR EACH ROW
WHEN NEW.updated_at <= OLD.updated_at
BEGIN
UPDATE devices SET updated_at = CURRENT_TIMESTAMP WHERE id=OLD.id;
END;
CREATE TABLE audits(id INTEGER PRIMARY KEY AUTOINCREMENT,
invalid BOOLEAN DEFAULT FALSE,
device_id INTEGER NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL);
-- TODO: valid_until
CREATE TRIGGER audits_ts_update
AFTER UPDATE ON audits FOR EACH ROW
WHEN NEW.updated_at <= OLD.updated_at
BEGIN
UPDATE audits SET updated_at = CURRENT_TIMESTAMP WHERE id=OLD.id;
END;
CREATE TABLE externals(id INTEGER PRIMARY KEY AUTOINCREMENT,
name VARCHAR(200) NOT NULL,
url_pattern TEXT NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL);
CREATE TABLE externals_links (id INTEGER PRIMARY KEY AUTOINCREMENT,
external_id INTEGER DEFAULT NULL,
device_id INTEGER NOT NULL,
url TEXT NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL);