2026-06-09 18:08:50 +03:00
|
|
|
CREATE TABLE IF NOT EXISTS teams (
|
|
|
|
|
id SERIAL PRIMARY KEY,
|
|
|
|
|
team_name character(16) NOT NULL,
|
2026-06-18 15:32:40 +03:00
|
|
|
team_board_id INT NOT NULL,
|
|
|
|
|
has_own_project BOOLEAN NOT NULL DEFAULT FALSE
|
2026-06-09 18:08:50 +03:00
|
|
|
);
|
|
|
|
|
|
2026-06-18 10:51:34 +03:00
|
|
|
CREATE TYPE role AS ENUM ('analytic', 'backend', 'designer', 'frontend', 'qa', 'project');
|
2026-06-09 18:08:50 +03:00
|
|
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS employees (
|
|
|
|
|
id SERIAL PRIMARY KEY,
|
|
|
|
|
employee_name TEXT,
|
|
|
|
|
employee_login TEXT UNIQUE,
|
|
|
|
|
employee_role role -- analytic|backend|designer|frontend|qa
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS team_members (
|
|
|
|
|
id SERIAL PRIMARY KEY,
|
|
|
|
|
team_id int not null REFERENCES teams(id) ON DELETE CASCADE,
|
|
|
|
|
employee_id int not null REFERENCES employees(id) ON DELETE CASCADE,
|
|
|
|
|
start_datetime TIMESTAMPTZ NOT NULL,
|
|
|
|
|
end_datetime TIMESTAMPTZ DEFAULT NULL
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS sprints (
|
|
|
|
|
id SERIAL PRIMARY KEY,
|
2026-06-09 19:43:47 +03:00
|
|
|
jira_sprint_id INT NOT NULL,
|
2026-06-09 18:08:50 +03:00
|
|
|
team_id int not null REFERENCES teams(id) ON DELETE CASCADE,
|
|
|
|
|
sprint_name TEXT NOT NULL,
|
|
|
|
|
sprint_activate_datetime TIMESTAMPTZ NOT NULL,
|
|
|
|
|
sprint_complete_datetime TIMESTAMPTZ NOT NULL,
|
|
|
|
|
sprint_completion_percentage real DEFAULT NULL
|
|
|
|
|
);
|