r986: Updating the installer schema
[bugdar.git] / install / schema.php
1 <?php
2 /*=====================================================================*\
3 || ###################################################################
4 || # Bugdar [#]version[#]
5 || # Copyright ©2002-[#]year[#] Blue Static
6 || #
7 || # This program is free software; you can redistribute it and/or modify
8 || # it under the terms of the GNU General Public License as published by
9 || # the Free Software Foundation; version [#]gpl[#] of the License.
10 || #
11 || # This program is distributed in the hope that it will be useful, but
12 || # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13 || # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
14 || # more details.
15 || #
16 || # You should have received a copy of the GNU General Public License along
17 || # with this program; if not, write to the Free Software Foundation, Inc.,
18 || # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
19 || ###################################################################
20 \*=====================================================================*/
21
22 $query['attachment'] = "
23 CREATE TABLE " . TABLE_PREFIX . "attachment
24 (
25 attachmentid int unsigned NOT NULL AUTO_INCREMENT,
26 bugid int unsigned NOT NULL,
27 filename varchar(255) NOT NULL,
28 mimetype varchar(255) NOT NULL,
29 filesize bigint unsigned NOT NULL,
30 attachment blob NOT NULL,
31 description varchar(255) NOT NULL,
32 dateline bigint unsigned NOT NULL,
33 userid int unsigned NOT NULL,
34 obsolete bool unsigned NOT NULL,
35 PRIMARY KEY (attachmentid)
36 );";
37
38 $query['autoaction'] = "
39 CREATE TABLE " . TABLE_PREFIX . "autoaction
40 (
41 actionid int unsigned NOT NULL AUTO_INCREMENT,
42 name varchar(255) NOT NULL,
43 description text NOT NULL,
44 fieldchanges text NOT NULL,
45 comment text NOT NULL,
46 PRIMARY KEY (actionid)
47 );";
48
49 $query['bug'] = "
50 CREATE TABLE " . TABLE_PREFIX . "bug
51 (
52 bugid int unsigned NOT NULL AUTO_INCREMENT,
53 userid int unsigned NOT NULL,
54 dateline bigint unsigned NOT NULL,
55 product int unsigned NOT NULL,
56 component int unsigned NOT NULL,
57 version int unsigned NOT NULL,
58 summary varchar(255) NOT NULL,
59 priority int unsigned NOT NULL,
60 severity int unsigned NOT NULL,
61 status int unsigned NOT NULL,
62 resolution int unsigned NOT NULL,
63 assignedto int unsigned NOT NULL,
64 duplicateof int unsigned NOT NULL,
65 dependency text NOT NULL,
66 hidden smallint unsigned NOT NULL,
67 initialreport int unsigned NOT NULL,
68 lastposttime bigint unsigned NOT NULL,
69 lastpostby int unsigned NOT NULL,
70 hiddenlastposttime int unsigned NOT NULL,
71 hiddenlastpostby int unsigned NOT NULL,
72 username varchar(255) NOT NULL,
73 lastpostbyname varchar(255) NOT NULL,
74 hiddenlastpostbyname varchar(255) NOT NULL,
75 PRIMARY KEY (bugid),
76 FULLTEXT KEY summary (summary)
77 );";
78
79 $query['bugfield'] = "
80 CREATE TABLE " . TABLE_PREFIX . "bugfield
81 (
82 fieldid int unsigned NOT NULL AUTO_INCREMENT,
83 name varchar(255) NOT NULL,
84 description text NOT NULL,
85 type varchar(50) NOT NULL,
86 selects text NOT NULL,
87 required smallint NOT NULL,
88 cansearch smallint NOT NULL,
89 regexmatch text NOT NULL,
90 defaultvalue text NOT NULL,
91 usedefault smallint NOT NULL,
92 maxlength smallint unsigned NOT NULL,
93 PRIMARY KEY (fieldid)
94 );";
95
96 $query['bugfieldpermission'] = "
97 CREATE TABLE " . TABLE_PREFIX . "bugfieldpermission
98 (
99 usergroupid int unsigned NOT NULL,
100 fieldid int unsigned NOT NULL,
101 mask smallint unsigned NOT NULL,
102 PRIMARY KEY (usergroupid, fieldid)
103 );";
104
105 $query['bugvaluefill'] = "
106 CREATE TABLE " . TABLE_PREFIX . "bugvaluefill
107 (
108 bugid int unsigned NOT NULL,
109 field2 text NULL,
110 field4 text NULL,
111 field5 text NULL,
112 PRIMARY KEY (bugid)
113 );";
114
115 $query['comment'] = "
116 CREATE TABLE " . TABLE_PREFIX . "comment
117 (
118 commentid int unsigned NOT NULL AUTO_INCREMENT,
119 bugid int unsigned NOT NULL,
120 userid int unsigned NOT NULL,
121 dateline bigint unsigned NOT NULL,
122 comment text NOT NULL,
123 comment_parsed text NOT NULL,
124 hidden smallint unsigned NOT NULL,
125 PRIMARY KEY (commentid),
126 FULLTEXT KEY comment (comment)
127 );";
128
129 $query['datastore'] = "
130 CREATE TABLE " . TABLE_PREFIX . "datastore
131 (
132 title varchar(255) NOT NULL,
133 data text NOT NULL,
134 PRIMARY KEY (title)
135 );";
136
137 $query['favourite'] = "
138 CREATE TABLE " . TABLE_PREFIX . "favourite
139 (
140 userid int unsigned NOT NULL,
141 bugid int unsigned NOT NULL,
142 PRIMARY KEY (userid, bugid)
143 );";
144
145 $query['fieldhelp'] = "
146 CREATE TABLE " . TABLE_PREFIX . "fieldhelp
147 (
148 keystring varchar(255) NOT NULL,
149 title varchar(255) NOT NULL,
150 body text NOT NULL,
151 PRIMARY KEY (keystring)
152 );";
153
154 $query['history'] = "
155 CREATE TABLE " . TABLE_PREFIX . "history
156 (
157 historyid bigint unsigned NOT NULL AUTO_INCREMENT,
158 bugid int unsigned NOT NULL,
159 attachmentid int unsigned NOT NULL,
160 commentid int unsigned NOT NULL,
161 dateline bigint unsigned NOT NULL,
162 userid int unsigned NOT NULL,
163 field varchar(255) NOT NULL,
164 original text NOT NULL,
165 changed text NOT NULL,
166 PRIMARY KEY (historyid)
167 );";
168
169 $query['language'] = "
170 CREATE TABLE " . TABLE_PREFIX . "language
171 (
172 languageid int unsigned NOT NULL AUTO_INCREMENT,
173 title varchar(255) NOT NULL,
174 languagecode varchar(5) NOT NULL,
175 charset varchar(15) NOT NULL,
176 direction char(3) NOT NULL,
177 filename varchar(255) NOT NULL,
178 userselect smallint unsigned NOT NULL,
179 debug smallint unsigned NOT NULL,
180 PRIMARY KEY (languageid),
181 UNIQUE KEY languagecode (languagecode)
182 );";
183
184 $query['localization'] = "
185 CREATE TABLE " . TABLE_PREFIX . "localization
186 (
187 localid int unsigned NOT NULL AUTO_INCREMENT,
188 localkey text NOT NULL,
189 localtext text NOT NULL,
190 languageid int unsigned NOT NULL,
191 PRIMARY KEY (localid)
192 );";
193
194 $query['permission'] = "
195 CREATE TABLE " . TABLE_PREFIX . "permission
196 (
197 usergroupid int unsigned NOT NULL,
198 productid int unsigned NOT NULL,
199 mask smallint NOT NULL,
200 PRIMARY KEY (usergroupid, productid)
201 );";
202
203 $query['priority'] = "
204 CREATE TABLE " . TABLE_PREFIX . "priority
205 (
206 priorityid int unsigned NOT NULL AUTO_INCREMENT,
207 priority varchar(255) NOT NULL,
208 displayorder int unsigned NOT NULL,
209 PRIMARY KEY (priorityid)
210 );";
211
212 $query['product'] = "
213 CREATE TABLE " . TABLE_PREFIX . "product
214 (
215 productid int unsigned NOT NULL AUTO_INCREMENT,
216 componentmother int unsigned NOT NULL,
217 displayorder int unsigned NOT NULL,
218 title varchar(255) NOT NULL,
219 description text NOT NULL,
220 PRIMARY KEY (productid)
221 );";
222
223 $query['resolution'] = "
224 CREATE TABLE " . TABLE_PREFIX . "resolution
225 (
226 resolutionid int unsigned NOT NULL AUTO_INCREMENT,
227 resolution varchar(255) NOT NULL,
228 displayorder int unsigned NOT NULL,
229 PRIMARY KEY (resolutionid)
230 );";
231
232 $query['search'] = "
233 CREATE TABLE " . TABLE_PREFIX . "search
234 (
235 userid int unsigned NOT NULL,
236 dateline bigint unsigned NOT NULL,
237 query text NOT NULL,
238 ids text NOT NULL,
239 orderby text NOT NULL,
240 hilight varchar(255) NOT NULL,
241 resultcount int NULL,
242 PRIMARY KEY (userid)
243 );";
244
245 $query['setting'] = "
246 CREATE TABLE " . TABLE_PREFIX . "setting
247 (
248 varname varchar(255) NOT NULL,
249 value text NOT NULL,
250 PRIMARY KEY (varname)
251 );";
252
253 $query['severity'] = "
254 CREATE TABLE " . TABLE_PREFIX . "severity
255 (
256 severityid int unsigned NOT NULL AUTO_INCREMENT,
257 severity varchar(255) NOT NULL,
258 displayorder int unsigned NOT NULL,
259 PRIMARY KEY (severityid)
260 );";
261
262 $query['status'] = "
263 CREATE TABLE " . TABLE_PREFIX . "status
264 (
265 statusid int unsigned NOT NULL AUTO_INCREMENT,
266 status varchar(255) NOT NULL,
267 displayorder int unsigned NOT NULL,
268 color varchar(10) NOT NULL,
269 PRIMARY KEY (statusid)
270 );";
271
272 $query['user'] = "
273 CREATE TABLE " . TABLE_PREFIX . "user
274 (
275 userid int unsigned NOT NULL AUTO_INCREMENT,
276 email varchar(255) NOT NULL,
277 displayname varchar(255) NOT NULL,
278 usergroupid int unsigned NOT NULL,
279 password varchar(32) NOT NULL,
280 salt varchar(15) NOT NULL,
281 authkey varchar(65) NOT NULL,
282 showemail smallint unsigned NOT NULL,
283 showcolours smallint unsigned NOT NULL,
284 languageid int unsigned NOT NULL,
285 timezone smallint NOT NULL,
286 usedst bool NOT NULL,
287 hidestatuses text NOT NULL,
288 defaultsortkey varchar(50) NULL,
289 defaultsortas varchar(10) NULL,
290 PRIMARY KEY (userid)
291 );";
292
293 $query['useractivation'] = "
294 CREATE TABLE " . TABLE_PREFIX . "useractivation
295 (
296 activator varchar(25) NOT NULL,
297 userid int unsigned NOT NULL,
298 dateline int unsigned NOT NULL,
299 usergroupid int unsigned NOT NULL,
300 PRIMARY KEY (activator)
301 );";
302
303 $query['useremail'] = "
304 CREATE TABLE " . TABLE_PREFIX . "useremail
305 (
306 userid int unsigned NOT NULL,
307 mask int unsigned NOT NULL,
308 relation int unsigned NOT NULL
309 );";
310
311 $query['usergroup'] = "
312 CREATE TABLE " . TABLE_PREFIX . "usergroup
313 (
314 usergroupid int unsigned NOT NULL AUTO_INCREMENT,
315 title varchar(255) NOT NULL,
316 displaytitle varchar(255) NOT NULL,
317 permissions int unsigned NOT NULL,
318 PRIMARY KEY (usergroupid)
319 );";
320
321 $query['version'] = "
322 CREATE TABLE " . TABLE_PREFIX . "version
323 (
324 versionid int unsigned NOT NULL AUTO_INCREMENT,
325 productid int unsigned NOT NULL,
326 version varchar(255) NOT NULL,
327 displayorder int unsigned NOT NULL,
328 PRIMARY KEY (versionid)
329 );";
330
331 $query['vote'] = "
332 CREATE TABLE " . TABLE_PREFIX . "vote
333 (
334 bugid int unsigned NOT NULL,
335 userids text NOT NULL,
336 votefor int unsigned NOT NULL,
337 voteagainst int unsigned NOT NULL,
338 PRIMARY KEY (bugid)
339 );";
340
341 /*=====================================================================*\
342 || ###################################################################
343 || # $HeadURL$
344 || # $Id$
345 || ###################################################################
346 \*=====================================================================*/
347 ?>