reports/docker/postgres/init/001_schema.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
);