forked from facebookincubator/antlir
-
Notifications
You must be signed in to change notification settings - Fork 0
/
create.sql
30 lines (24 loc) · 798 Bytes
/
create.sql
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
BEGIN;
CREATE TABLE runs(
revision varchar(128) NOT NULL PRIMARY KEY,
time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE targets(
target varchar(260) NOT NULL PRIMARY KEY CHECK (target <> '')
);
CREATE TABLE tests(
target varchar(260) NOT NULL REFERENCES targets (target) ON DELETE CASCADE,
test varchar(260) NOT NULL,
disabled boolean NOT NULL DEFAULT false,
PRIMARY KEY (target, test)
);
CREATE INDEX tests_disabled_idx ON tests (disabled);
CREATE TABLE results(
revision varchar(128) NOT NULL REFERENCES runs (revision) ON DELETE CASCADE,
target varchar(260) NOT NULL,
test varchar(260) NOT NULL,
passed boolean NOT NULL,
PRIMARY KEY (revision, target, test),
FOREIGN KEY (target, test) REFERENCES tests (target, test) ON DELETE CASCADE
);
COMMIT;