Mon, 18 May 2020 21:05:57 +0200
adds data model for issues
universe@20 | 1 | -- This script creates the module management tables |
universe@20 | 2 | -- |
universe@2 | 3 | |
universe@37 | 4 | create table lpit_user ( |
universe@20 | 5 | userid serial primary key, |
universe@20 | 6 | username varchar(50) not null unique, |
universe@37 | 7 | mail varchar(50), |
universe@20 | 8 | lastname varchar(50), |
universe@20 | 9 | givenname varchar(50) |
universe@20 | 10 | ); |
universe@37 | 11 | |
universe@37 | 12 | create table lpit_project ( |
universe@37 | 13 | id serial primary key, |
universe@37 | 14 | name varchar(20) not null unique, |
universe@37 | 15 | description varchar(200), |
universe@37 | 16 | repoUrl varchar(50), |
universe@37 | 17 | owner integer references lpit_user(userid) |
universe@37 | 18 | ); |
universe@37 | 19 | |
universe@37 | 20 | create type version_status as enum ( |
universe@37 | 21 | 'Future', |
universe@37 | 22 | 'Unreleased', |
universe@37 | 23 | 'Released', |
universe@37 | 24 | 'LTS', |
universe@37 | 25 | 'Deprecated' |
universe@37 | 26 | ); |
universe@37 | 27 | |
universe@37 | 28 | create table lpit_version ( |
universe@37 | 29 | id serial primary key, |
universe@37 | 30 | project integer not null references lpit_project(id), |
universe@37 | 31 | name varchar(20) not null, |
universe@37 | 32 | ordinal integer not null default 0, |
universe@37 | 33 | status version_status not null default 'Future' |
universe@37 | 34 | ); |
universe@62 | 35 | |
universe@62 | 36 | create type issue_status as enum ( |
universe@62 | 37 | 'InSpecification', |
universe@62 | 38 | 'ToDo', |
universe@62 | 39 | 'Scheduled', |
universe@62 | 40 | 'InProgress', |
universe@62 | 41 | 'InReview', |
universe@62 | 42 | 'Done', |
universe@62 | 43 | 'Rejected', |
universe@62 | 44 | 'Withdrawn' |
universe@62 | 45 | ); |
universe@62 | 46 | |
universe@62 | 47 | create type issue_category as enum ( |
universe@62 | 48 | 'Feature', |
universe@62 | 49 | 'Improvement', |
universe@62 | 50 | 'Bug', |
universe@62 | 51 | 'Task', |
universe@62 | 52 | 'Test' |
universe@62 | 53 | ); |
universe@62 | 54 | |
universe@62 | 55 | create table lpit_issue ( |
universe@62 | 56 | id serial primary key, |
universe@62 | 57 | project integer not null references lpit_project(id), |
universe@62 | 58 | status issue_status not null default 'InSpecification', |
universe@62 | 59 | category issue_category not null default 'Feature', |
universe@62 | 60 | subject varchar(20) not null, |
universe@62 | 61 | description text, |
universe@62 | 62 | version_plan integer references lpit_version(id), |
universe@62 | 63 | version_done integer references lpit_version(id), |
universe@62 | 64 | created timestamp with time zone not null default now(), |
universe@62 | 65 | updated timestamp with time zone not null default now(), |
universe@62 | 66 | eta date |
universe@62 | 67 | ); |