Fri, 22 May 2020 21:23:57 +0200
adds the ability to create and edit issues
1 -- This script creates the module management tables
2 --
4 create table lpit_user (
5 userid serial primary key,
6 username varchar(50) not null unique,
7 mail varchar(50),
8 lastname varchar(50),
9 givenname varchar(50)
10 );
12 create table lpit_project (
13 projectid serial primary key,
14 name varchar(20) not null unique,
15 description varchar(200),
16 repoUrl varchar(50),
17 owner integer references lpit_user(userid)
18 );
20 create type version_status as enum (
21 'Future',
22 'Unreleased',
23 'Released',
24 'LTS',
25 'Deprecated'
26 );
28 create table lpit_version (
29 versionid serial primary key,
30 project integer not null references lpit_project(projectid),
31 name varchar(20) not null,
32 ordinal integer not null default 0,
33 status version_status not null default 'Future'
34 );
36 create type issue_status as enum (
37 'InSpecification',
38 'ToDo',
39 'Scheduled',
40 'InProgress',
41 'InReview',
42 'Done',
43 'Rejected',
44 'Withdrawn'
45 );
47 create type issue_category as enum (
48 'Feature',
49 'Improvement',
50 'Bug',
51 'Task',
52 'Test'
53 );
55 create table lpit_issue (
56 issueid serial primary key,
57 project integer not null references lpit_project(projectid),
58 status issue_status not null default 'InSpecification',
59 category issue_category not null default 'Feature',
60 subject varchar(20) not null,
61 description text,
62 assignee integer references lpit_user(userid),
63 created timestamp with time zone not null default now(),
64 updated timestamp with time zone not null default now(),
65 eta date
66 );
68 create table lpit_issue_affected_version (
69 issueid integer references lpit_issue(issueid),
70 versionid integer references lpit_version(versionid),
71 primary key (issueid, versionid)
72 );
74 create table lpit_issue_scheduled_version (
75 issueid integer references lpit_issue(issueid),
76 versionid integer references lpit_version(versionid),
77 primary key (issueid, versionid)
78 );
80 create table lpit_issue_resolved_version (
81 issueid integer references lpit_issue(issueid),
82 versionid integer references lpit_version(versionid),
83 primary key (issueid, versionid)
84 );