mirror of
https://github.com/simon987/task_tracker.git
synced 2025-04-18 01:46:45 +00:00
62 lines
1.1 KiB
SQL
Executable File
62 lines
1.1 KiB
SQL
Executable File
DROP TABLE IF EXISTS workeridentity, Worker, Project, Task, log_entry;
|
|
DROP TYPE IF EXISTS status;
|
|
DROP TYPE IF EXISTS loglevel;
|
|
|
|
CREATE TYPE status as ENUM (
|
|
'new',
|
|
'failed',
|
|
'closed'
|
|
);
|
|
|
|
CREATE TYPE loglevel as ENUM (
|
|
'fatal', 'panic', 'error', 'warning', 'info', 'debug', 'trace'
|
|
);
|
|
|
|
CREATE TABLE workerIdentity
|
|
(
|
|
id SERIAL PRIMARY KEY,
|
|
remote_addr TEXT,
|
|
user_agent TEXT,
|
|
|
|
UNIQUE (remote_addr)
|
|
);
|
|
|
|
CREATE TABLE worker
|
|
(
|
|
id TEXT PRIMARY KEY,
|
|
created INTEGER,
|
|
identity INTEGER REFERENCES workerIdentity (id)
|
|
);
|
|
|
|
CREATE TABLE project
|
|
(
|
|
id SERIAL PRIMARY KEY,
|
|
priority INTEGER DEFAULT 0,
|
|
name TEXT UNIQUE,
|
|
clone_url TEXT,
|
|
git_repo TEXT UNIQUE,
|
|
version TEXT
|
|
);
|
|
|
|
CREATE TABLE task
|
|
(
|
|
id SERIAL PRIMARY KEY,
|
|
priority INTEGER DEFAULT 0,
|
|
project INTEGER REFERENCES project (id),
|
|
assignee TEXT REFERENCES worker (id),
|
|
retries INTEGER DEFAULT 0,
|
|
max_retries INTEGER,
|
|
status Status DEFAULT 'new',
|
|
recipe TEXT
|
|
);
|
|
|
|
CREATE TABLE log_entry
|
|
(
|
|
level loglevel,
|
|
message TEXT,
|
|
message_data TEXT,
|
|
timestamp INT
|
|
);
|
|
|
|
|