mirror of
https://github.com/mentos1386/zdravko.git
synced 2024-11-23 00:03:43 +00:00
71 lines
2.2 KiB
SQL
71 lines
2.2 KiB
SQL
-- +migrate Up
|
|
CREATE TABLE oauth2_states (
|
|
state TEXT NOT NULL,
|
|
expires_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ')),
|
|
|
|
PRIMARY KEY (state)
|
|
) STRICT;
|
|
|
|
CREATE TABLE monitors (
|
|
id TEXT NOT NULL,
|
|
name TEXT NOT NULL,
|
|
"group" TEXT NOT NULL DEFAULT 'default',
|
|
schedule TEXT NOT NULL,
|
|
script TEXT NOT NULL,
|
|
|
|
created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ')),
|
|
updated_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ')),
|
|
|
|
PRIMARY KEY (id),
|
|
CONSTRAINT unique_monitors_name UNIQUE (name)
|
|
) STRICT;
|
|
|
|
|
|
--CREATE TRIGGER monitors_updated_timestamp AFTER UPDATE ON monitors BEGIN
|
|
-- update monitors set updated_at = strftime('%Y-%m-%dT%H:%M:%fZ') where id = new.id;
|
|
--END;
|
|
|
|
CREATE TABLE worker_groups (
|
|
id TEXT NOT NULL,
|
|
name TEXT NOT NULL,
|
|
|
|
created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ')),
|
|
updated_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ')),
|
|
|
|
PRIMARY KEY (id),
|
|
CONSTRAINT unique_worker_groups_name UNIQUE (name)
|
|
) STRICT;
|
|
|
|
--CREATE TRIGGER worker_groups_updated_timestamp AFTER UPDATE ON worker_groups BEGIN
|
|
-- update worker_groups set updated_at = strftime('%Y-%m-%dT%H:%M:%fZ') where id = new.id;
|
|
--END;
|
|
|
|
CREATE TABLE monitor_worker_groups (
|
|
worker_group_id TEXT NOT NULL,
|
|
monitor_id TEXT NOT NULL,
|
|
|
|
PRIMARY KEY (worker_group_id,monitor_id),
|
|
CONSTRAINT fk_monitor_worker_groups_worker_group FOREIGN KEY (worker_group_id) REFERENCES worker_groups(id) ON DELETE CASCADE,
|
|
CONSTRAINT fk_monitor_worker_groups_monitor FOREIGN KEY (monitor_id) REFERENCES monitors(id) ON DELETE CASCADE
|
|
) STRICT;
|
|
|
|
CREATE TABLE monitor_histories (
|
|
monitor_id TEXT NOT NULL,
|
|
worker_group_id TEXT NOT NULL,
|
|
|
|
status TEXT NOT NULL,
|
|
note TEXT NOT NULL,
|
|
|
|
created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ')),
|
|
|
|
PRIMARY KEY (monitor_id, worker_group_id, created_at),
|
|
CONSTRAINT fk_monitor_histories_monitor FOREIGN KEY (monitor_id) REFERENCES monitors(id) ON DELETE CASCADE,
|
|
CONSTRAINT fk_monitor_histories_worker_group FOREIGN KEY (worker_group_id) REFERENCES worker_groups(id) ON DELETE CASCADE
|
|
) STRICT;
|
|
|
|
-- +migrate Down
|
|
DROP TABLE oauth2_states;
|
|
DROP TABLE monitor_worker_groups;
|
|
DROP TABLE worker_groups;
|
|
DROP TABLE monitor_histories;
|
|
DROP TABLE monitors;
|