2018-06-15 04:30:10 +00:00
|
|
|
CREATE TABLE core (
|
|
|
|
name text,
|
|
|
|
description text,
|
|
|
|
config text,
|
|
|
|
api_key text,
|
|
|
|
api_secret text,
|
2018-06-19 04:48:25 +00:00
|
|
|
style text,
|
|
|
|
footer text,
|
2018-06-15 04:30:10 +00:00
|
|
|
version text
|
|
|
|
);
|
|
|
|
|
|
|
|
CREATE TABLE users (
|
|
|
|
id SERIAL PRIMARY KEY,
|
|
|
|
username text,
|
|
|
|
password text,
|
|
|
|
email text,
|
|
|
|
api_key text,
|
|
|
|
api_secret text,
|
|
|
|
created_at TIMESTAMP
|
|
|
|
);
|
|
|
|
|
|
|
|
CREATE TABLE services (
|
|
|
|
id SERIAL PRIMARY KEY,
|
|
|
|
name text,
|
|
|
|
domain text,
|
|
|
|
check_type text,
|
|
|
|
method text,
|
|
|
|
port integer,
|
|
|
|
expected text,
|
|
|
|
expected_status integer,
|
|
|
|
check_interval integer,
|
|
|
|
created_at TIMESTAMP
|
|
|
|
);
|
|
|
|
|
2018-06-22 04:02:57 +00:00
|
|
|
CREATE TABLE checkins (
|
|
|
|
id SERIAL PRIMARY KEY,
|
|
|
|
service INTEGER NOT NULL REFERENCES services(id) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
|
|
check_interval integer,
|
|
|
|
created_at TIMESTAMP
|
|
|
|
);
|
|
|
|
|
2018-06-15 04:30:10 +00:00
|
|
|
CREATE TABLE hits (
|
|
|
|
id SERIAL PRIMARY KEY,
|
|
|
|
service INTEGER NOT NULL REFERENCES services(id) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
|
|
latency float,
|
|
|
|
created_at TIMESTAMP WITHOUT TIME zone
|
|
|
|
);
|
|
|
|
|
|
|
|
CREATE TABLE failures (
|
|
|
|
id SERIAL PRIMARY KEY,
|
|
|
|
issue text,
|
2018-06-22 04:02:57 +00:00
|
|
|
method text,
|
2018-06-15 04:30:10 +00:00
|
|
|
service INTEGER NOT NULL REFERENCES services(id) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
|
|
created_at TIMESTAMP WITHOUT TIME zone
|
|
|
|
);
|
|
|
|
|
|
|
|
CREATE INDEX idx_hits ON hits(service);
|
|
|
|
CREATE INDEX idx_failures ON failures(service);
|