setup/postgres/psql_create_tables.sql

Sat, 04 Jun 2022 18:02:25 +0200

author
Mike Becker <universe@uap-core.de>
date
Sat, 04 Jun 2022 18:02:25 +0200
changeset 248
90dc13c78b5d
parent 242
b7f3e972b13c
child 252
90f5e12c7623
permissions
-rw-r--r--

simplify listIssues() interface

20
bd1a76c91d5b module synchronization with database
Mike Becker <universe@uap-core.de>
parents: 16
diff changeset
1 -- This script creates the module management tables
bd1a76c91d5b module synchronization with database
Mike Becker <universe@uap-core.de>
parents: 16
diff changeset
2 --
2
fcb452578142 adds create database setup script
Mike Becker <universe@uap-core.de>
parents:
diff changeset
3
206
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
4 create table lpit_user
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
5 (
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
6 userid serial primary key,
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
7 username text not null unique,
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
8 mail text,
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
9 lastname text,
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
10 givenname text
20
bd1a76c91d5b module synchronization with database
Mike Becker <universe@uap-core.de>
parents: 16
diff changeset
11 );
37
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 36
diff changeset
12
206
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
13 create table lpit_project
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
14 (
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
15 projectid serial primary key,
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
16 name text not null unique,
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
17 node text not null unique,
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
18 ordinal integer not null default 0,
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
19 description text,
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
20 repoUrl text,
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
21 owner integer references lpit_user (userid)
37
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 36
diff changeset
22 );
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 36
diff changeset
23
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 36
diff changeset
24 create type version_status as enum (
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 36
diff changeset
25 'Future',
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 36
diff changeset
26 'Unreleased',
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 36
diff changeset
27 'Released',
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 36
diff changeset
28 'LTS',
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 36
diff changeset
29 'Deprecated'
206
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
30 );
37
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 36
diff changeset
31
206
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
32 create table lpit_version
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
33 (
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
34 versionid serial primary key,
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
35 project integer not null references lpit_project (projectid),
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
36 name text not null,
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
37 node text not null,
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
38 ordinal integer not null default 0,
225
87328572e36f #159 adds release and eol dates
Mike Becker <universe@uap-core.de>
parents: 206
diff changeset
39 status version_status not null default 'Future',
87328572e36f #159 adds release and eol dates
Mike Becker <universe@uap-core.de>
parents: 206
diff changeset
40 release date,
87328572e36f #159 adds release and eol dates
Mike Becker <universe@uap-core.de>
parents: 206
diff changeset
41 eol date
37
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 36
diff changeset
42 );
62
833e0385572a adds data model for issues
Mike Becker <universe@uap-core.de>
parents: 37
diff changeset
43
206
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
44 create unique index lpit_version_node_unique on lpit_version (project, node);
127
6105ee2cceaf adds component entity
Mike Becker <universe@uap-core.de>
parents: 124
diff changeset
45
206
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
46 create table lpit_component
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
47 (
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
48 id serial primary key,
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
49 project integer not null references lpit_project (projectid),
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
50 name text not null,
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
51 node text not null,
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
52 color char(6) not null default '000000',
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
53 ordinal integer not null default 0,
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
54 description text,
227
f0ede8046b59 #162 adds active flag to component
Mike Becker <universe@uap-core.de>
parents: 225
diff changeset
55 lead integer references lpit_user (userid),
f0ede8046b59 #162 adds active flag to component
Mike Becker <universe@uap-core.de>
parents: 225
diff changeset
56 active boolean not null default true
127
6105ee2cceaf adds component entity
Mike Becker <universe@uap-core.de>
parents: 124
diff changeset
57 );
6105ee2cceaf adds component entity
Mike Becker <universe@uap-core.de>
parents: 124
diff changeset
58
206
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
59 create unique index lpit_component_node_unique on lpit_component (project, node);
138
e2aa673dd473 adds custom node names - fixes #27
Mike Becker <universe@uap-core.de>
parents: 128
diff changeset
60
62
833e0385572a adds data model for issues
Mike Becker <universe@uap-core.de>
parents: 37
diff changeset
61 create type issue_status as enum (
833e0385572a adds data model for issues
Mike Becker <universe@uap-core.de>
parents: 37
diff changeset
62 'InSpecification',
833e0385572a adds data model for issues
Mike Becker <universe@uap-core.de>
parents: 37
diff changeset
63 'ToDo',
833e0385572a adds data model for issues
Mike Becker <universe@uap-core.de>
parents: 37
diff changeset
64 'Scheduled',
833e0385572a adds data model for issues
Mike Becker <universe@uap-core.de>
parents: 37
diff changeset
65 'InProgress',
833e0385572a adds data model for issues
Mike Becker <universe@uap-core.de>
parents: 37
diff changeset
66 'InReview',
833e0385572a adds data model for issues
Mike Becker <universe@uap-core.de>
parents: 37
diff changeset
67 'Done',
833e0385572a adds data model for issues
Mike Becker <universe@uap-core.de>
parents: 37
diff changeset
68 'Rejected',
81
1a2e7b5d48f7 adds issue summaries
Mike Becker <universe@uap-core.de>
parents: 75
diff changeset
69 'Withdrawn',
1a2e7b5d48f7 adds issue summaries
Mike Becker <universe@uap-core.de>
parents: 75
diff changeset
70 'Duplicate'
206
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
71 );
62
833e0385572a adds data model for issues
Mike Becker <universe@uap-core.de>
parents: 37
diff changeset
72
833e0385572a adds data model for issues
Mike Becker <universe@uap-core.de>
parents: 37
diff changeset
73 create type issue_category as enum (
833e0385572a adds data model for issues
Mike Becker <universe@uap-core.de>
parents: 37
diff changeset
74 'Feature',
833e0385572a adds data model for issues
Mike Becker <universe@uap-core.de>
parents: 37
diff changeset
75 'Improvement',
833e0385572a adds data model for issues
Mike Becker <universe@uap-core.de>
parents: 37
diff changeset
76 'Bug',
833e0385572a adds data model for issues
Mike Becker <universe@uap-core.de>
parents: 37
diff changeset
77 'Task',
833e0385572a adds data model for issues
Mike Becker <universe@uap-core.de>
parents: 37
diff changeset
78 'Test'
206
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
79 );
62
833e0385572a adds data model for issues
Mike Becker <universe@uap-core.de>
parents: 37
diff changeset
80
206
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
81 create table lpit_issue_phases
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
82 (
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
83 status issue_status primary key,
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
84 phase integer not null
81
1a2e7b5d48f7 adds issue summaries
Mike Becker <universe@uap-core.de>
parents: 75
diff changeset
85 );
1a2e7b5d48f7 adds issue summaries
Mike Becker <universe@uap-core.de>
parents: 75
diff changeset
86
206
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
87 create table lpit_issue
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
88 (
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
89 issueid serial primary key,
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
90 project integer not null references lpit_project (projectid),
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
91 component integer references lpit_component (id),
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
92 status issue_status not null default 'InSpecification',
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
93 category issue_category not null default 'Feature',
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
94 subject text not null,
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
95 description text,
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
96 assignee integer references lpit_user (userid),
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
97 created timestamp with time zone not null default now(),
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
98 updated timestamp with time zone not null default now(),
231
dcb1d5a7ea3a #163 removes multi selection for versions
Mike Becker <universe@uap-core.de>
parents: 227
diff changeset
99 eta date,
dcb1d5a7ea3a #163 removes multi selection for versions
Mike Becker <universe@uap-core.de>
parents: 227
diff changeset
100 affected integer references lpit_version (versionid),
dcb1d5a7ea3a #163 removes multi selection for versions
Mike Becker <universe@uap-core.de>
parents: 227
diff changeset
101 resolved integer references lpit_version (versionid)
75
33b6843fdf8a adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents: 62
diff changeset
102 );
33b6843fdf8a adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents: 62
diff changeset
103
232
296e12ff8d1c #109 adds Stasi that collects intel for the feed
Mike Becker <universe@uap-core.de>
parents: 231
diff changeset
104 create type issue_history_event as enum (
296e12ff8d1c #109 adds Stasi that collects intel for the feed
Mike Becker <universe@uap-core.de>
parents: 231
diff changeset
105 'New',
296e12ff8d1c #109 adds Stasi that collects intel for the feed
Mike Becker <universe@uap-core.de>
parents: 231
diff changeset
106 'Update',
296e12ff8d1c #109 adds Stasi that collects intel for the feed
Mike Becker <universe@uap-core.de>
parents: 231
diff changeset
107 'NewComment',
296e12ff8d1c #109 adds Stasi that collects intel for the feed
Mike Becker <universe@uap-core.de>
parents: 231
diff changeset
108 'UpdateComment'
296e12ff8d1c #109 adds Stasi that collects intel for the feed
Mike Becker <universe@uap-core.de>
parents: 231
diff changeset
109 );
296e12ff8d1c #109 adds Stasi that collects intel for the feed
Mike Becker <universe@uap-core.de>
parents: 231
diff changeset
110
296e12ff8d1c #109 adds Stasi that collects intel for the feed
Mike Becker <universe@uap-core.de>
parents: 231
diff changeset
111 create table lpit_issue_history_event
296e12ff8d1c #109 adds Stasi that collects intel for the feed
Mike Becker <universe@uap-core.de>
parents: 231
diff changeset
112 (
296e12ff8d1c #109 adds Stasi that collects intel for the feed
Mike Becker <universe@uap-core.de>
parents: 231
diff changeset
113 eventid serial primary key,
296e12ff8d1c #109 adds Stasi that collects intel for the feed
Mike Becker <universe@uap-core.de>
parents: 231
diff changeset
114 issueid integer not null references lpit_issue (issueid) on delete cascade,
242
b7f3e972b13c #109 add comment history
Mike Becker <universe@uap-core.de>
parents: 241
diff changeset
115 subject text not null,
232
296e12ff8d1c #109 adds Stasi that collects intel for the feed
Mike Becker <universe@uap-core.de>
parents: 231
diff changeset
116 time timestamp with time zone not null default now(),
296e12ff8d1c #109 adds Stasi that collects intel for the feed
Mike Becker <universe@uap-core.de>
parents: 231
diff changeset
117 type issue_history_event not null
296e12ff8d1c #109 adds Stasi that collects intel for the feed
Mike Becker <universe@uap-core.de>
parents: 231
diff changeset
118 );
296e12ff8d1c #109 adds Stasi that collects intel for the feed
Mike Becker <universe@uap-core.de>
parents: 231
diff changeset
119
296e12ff8d1c #109 adds Stasi that collects intel for the feed
Mike Becker <universe@uap-core.de>
parents: 231
diff changeset
120 create table lpit_issue_history_data
296e12ff8d1c #109 adds Stasi that collects intel for the feed
Mike Becker <universe@uap-core.de>
parents: 231
diff changeset
121 (
239
9365c7fb0240 #109 add assignee filter to rss feed
Mike Becker <universe@uap-core.de>
parents: 232
diff changeset
122 eventid integer not null references lpit_issue_history_event (eventid) on delete cascade,
9365c7fb0240 #109 add assignee filter to rss feed
Mike Becker <universe@uap-core.de>
parents: 232
diff changeset
123 component text,
9365c7fb0240 #109 add assignee filter to rss feed
Mike Becker <universe@uap-core.de>
parents: 232
diff changeset
124 status issue_status not null,
9365c7fb0240 #109 add assignee filter to rss feed
Mike Becker <universe@uap-core.de>
parents: 232
diff changeset
125 category issue_category not null,
9365c7fb0240 #109 add assignee filter to rss feed
Mike Becker <universe@uap-core.de>
parents: 232
diff changeset
126 description text,
9365c7fb0240 #109 add assignee filter to rss feed
Mike Becker <universe@uap-core.de>
parents: 232
diff changeset
127 assignee text,
9365c7fb0240 #109 add assignee filter to rss feed
Mike Becker <universe@uap-core.de>
parents: 232
diff changeset
128 eta date,
9365c7fb0240 #109 add assignee filter to rss feed
Mike Becker <universe@uap-core.de>
parents: 232
diff changeset
129 affected text,
9365c7fb0240 #109 add assignee filter to rss feed
Mike Becker <universe@uap-core.de>
parents: 232
diff changeset
130 resolved text
232
296e12ff8d1c #109 adds Stasi that collects intel for the feed
Mike Becker <universe@uap-core.de>
parents: 231
diff changeset
131 );
296e12ff8d1c #109 adds Stasi that collects intel for the feed
Mike Becker <universe@uap-core.de>
parents: 231
diff changeset
132
206
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
133 create table lpit_issue_comment
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
134 (
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
135 commentid serial primary key,
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
136 issueid integer not null references lpit_issue (issueid),
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
137 userid integer references lpit_user (userid),
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
138 created timestamp with time zone not null default now(),
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
139 updated timestamp with time zone not null default now(),
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
140 updatecount integer not null default 0,
fe4de34822a5 #133 changes all varchar columns to text
Mike Becker <universe@uap-core.de>
parents: 187
diff changeset
141 comment text not null
124
ed2e7aef2a3e adds issue comments
Mike Becker <universe@uap-core.de>
parents: 88
diff changeset
142 );
232
296e12ff8d1c #109 adds Stasi that collects intel for the feed
Mike Becker <universe@uap-core.de>
parents: 231
diff changeset
143
296e12ff8d1c #109 adds Stasi that collects intel for the feed
Mike Becker <universe@uap-core.de>
parents: 231
diff changeset
144 create table lpit_issue_comment_history
296e12ff8d1c #109 adds Stasi that collects intel for the feed
Mike Becker <universe@uap-core.de>
parents: 231
diff changeset
145 (
296e12ff8d1c #109 adds Stasi that collects intel for the feed
Mike Becker <universe@uap-core.de>
parents: 231
diff changeset
146 commentid integer not null references lpit_issue_comment (commentid) on delete cascade,
296e12ff8d1c #109 adds Stasi that collects intel for the feed
Mike Becker <universe@uap-core.de>
parents: 231
diff changeset
147 eventid integer not null references lpit_issue_history_event (eventid) on delete cascade,
296e12ff8d1c #109 adds Stasi that collects intel for the feed
Mike Becker <universe@uap-core.de>
parents: 231
diff changeset
148 comment text not null
296e12ff8d1c #109 adds Stasi that collects intel for the feed
Mike Becker <universe@uap-core.de>
parents: 231
diff changeset
149 );
296e12ff8d1c #109 adds Stasi that collects intel for the feed
Mike Becker <universe@uap-core.de>
parents: 231
diff changeset
150

mercurial