Tue, 19 May 2020 18:49:48 +0200
improves width of project and user forms
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 id 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 id serial primary key,
30 project integer not null references lpit_project(id),
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 id serial primary key,
57 project integer not null references lpit_project(id),
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 version_plan integer references lpit_version(id),
63 version_done integer references lpit_version(id),
64 created timestamp with time zone not null default now(),
65 updated timestamp with time zone not null default now(),
66 eta date
67 );