mirror of
https://github.com/simon987/task_tracker.git
synced 2025-04-18 01:46:45 +00:00
79 lines
1.7 KiB
SQL
Executable File
79 lines
1.7 KiB
SQL
Executable File
DROP TABLE IF EXISTS worker_identity, worker, project, task, log_entry,
|
|
worker_has_access_to_project, manager, manager_has_role_on_project;
|
|
DROP TYPE IF EXISTS status;
|
|
DROP TYPE IF EXISTS log_level;
|
|
|
|
CREATE TABLE worker_identity
|
|
(
|
|
id SERIAL PRIMARY KEY,
|
|
remote_addr TEXT,
|
|
user_agent TEXT,
|
|
|
|
UNIQUE (remote_addr)
|
|
);
|
|
|
|
CREATE TABLE worker
|
|
(
|
|
id SERIAL PRIMARY KEY,
|
|
alias TEXT,
|
|
created INTEGER,
|
|
identity INTEGER REFERENCES worker_identity (id),
|
|
secret BYTEA
|
|
);
|
|
|
|
CREATE TABLE project
|
|
(
|
|
id SERIAL PRIMARY KEY,
|
|
priority INTEGER DEFAULT 0,
|
|
name TEXT UNIQUE,
|
|
clone_url TEXT,
|
|
git_repo TEXT UNIQUE,
|
|
version TEXT,
|
|
motd TEXT,
|
|
public boolean
|
|
);
|
|
|
|
CREATE TABLE worker_has_access_to_project
|
|
(
|
|
worker INTEGER REFERENCES worker (id),
|
|
project INTEGER REFERENCES project (id),
|
|
primary key (worker, project)
|
|
);
|
|
|
|
CREATE TABLE task
|
|
(
|
|
hash64 BIGINT DEFAULT NULL UNIQUE,
|
|
id SERIAL PRIMARY KEY,
|
|
project INTEGER REFERENCES project (id),
|
|
assignee INTEGER REFERENCES worker (id),
|
|
max_assign_time INTEGER DEFAULT 0,
|
|
assign_time INTEGER DEFAULT 0,
|
|
priority SMALLINT DEFAULT 0,
|
|
retries SMALLINT DEFAULT 0,
|
|
max_retries SMALLINT,
|
|
status SMALLINT DEFAULT 1,
|
|
recipe TEXT
|
|
);
|
|
|
|
CREATE TABLE log_entry
|
|
(
|
|
level INTEGER,
|
|
message TEXT,
|
|
message_data TEXT,
|
|
timestamp INTEGER
|
|
);
|
|
|
|
CREATE TABLE manager
|
|
(
|
|
id SERIAL PRIMARY KEY,
|
|
username TEXT,
|
|
password TEXT,
|
|
website_admin BOOLEAN
|
|
);
|
|
|
|
CREATE TABLE manager_has_role_on_project
|
|
(
|
|
manager INTEGER REFERENCES manager (id),
|
|
role SMALLINT,
|
|
project INTEGER REFERENCES project (id)
|
|
); |