32 lines
1016 B
SQL
32 lines
1016 B
SQL
CREATE TABLE IF NOT EXISTS teams (
|
|
id SERIAL PRIMARY KEY,
|
|
team_name character(16) NOT NULL,
|
|
team_board_id INT NOT NULL
|
|
);
|
|
|
|
CREATE TYPE role AS ENUM ('analytic', 'backend', 'designer', 'frontend', 'qa');
|
|
|
|
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,
|
|
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
|
|
);
|