r1451: Updating the schema file
[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 $schema['adminsession'] = "
23 CREATE TABLE " . TABLE_PREFIX . "adminsession
24 (
25 sessionid varchar(250) NOT NULL,
26 userid int unsigned NOT NULL,
27 dateline int unsigned NOT NULL,
28 PRIMARY KEY (sessionid)
29 );";
30
31 $schema['attachment'] = "
32 CREATE TABLE " . TABLE_PREFIX . "attachment
33 (
34 attachmentid int unsigned NOT NULL AUTO_INCREMENT,
35 bugid int unsigned NOT NULL,
36 filename varchar(255) NOT NULL,
37 mimetype varchar(255) NOT NULL,
38 filesize bigint unsigned NOT NULL,
39 attachment blob NOT NULL,
40 description varchar(255) NOT NULL,
41 dateline bigint unsigned NOT NULL,
42 userid int unsigned NOT NULL,
43 obsolete bool NOT NULL,
44 PRIMARY KEY (attachmentid)
45 );";
46
47 $schema['automation'] = "
48 CREATE TABLE " . TABLE_PREFIX . "automation
49 (
50 actionid int unsigned NOT NULL AUTO_INCREMENT,
51 name varchar(255) NOT NULL,
52 description text NOT NULL,
53 fieldchanges text NOT NULL,
54 comment text NOT NULL,
55 PRIMARY KEY (actionid)
56 );";
57
58 $schema['bug'] = "
59 CREATE TABLE " . TABLE_PREFIX . "bug
60 (
61 bugid int unsigned NOT NULL AUTO_INCREMENT,
62 userid int unsigned NOT NULL,
63 dateline bigint unsigned NOT NULL,
64 product int unsigned NOT NULL,
65 component int unsigned NOT NULL,
66 version int unsigned NOT NULL,
67 summary varchar(255) NOT NULL,
68 priority int unsigned NOT NULL,
69 severity int unsigned NOT NULL,
70 status int unsigned NOT NULL,
71 resolution int unsigned NOT NULL,
72 assignedto int unsigned NOT NULL,
73 duplicateof int unsigned NOT NULL,
74 dependency text NOT NULL,
75 hidden smallint unsigned NOT NULL,
76 initialreport int unsigned NOT NULL,
77 lastposttime bigint unsigned NOT NULL,
78 lastpostby int unsigned NOT NULL,
79 hiddenlastposttime int unsigned NOT NULL,
80 hiddenlastpostby int unsigned NOT NULL,
81 username varchar(255) NOT NULL,
82 lastpostbyname varchar(255) NOT NULL,
83 hiddenlastpostbyname varchar(255) NOT NULL,
84 PRIMARY KEY (bugid),
85 FULLTEXT KEY summary (summary)
86 );";
87
88 $schema['bugfield'] = "
89 CREATE TABLE " . TABLE_PREFIX . "bugfield
90 (
91 fieldid int unsigned NOT NULL AUTO_INCREMENT,
92 name varchar(255) NOT NULL,
93 description text NOT NULL,
94 type varchar(50) NOT NULL,
95 selects text NOT NULL,
96 required smallint NOT NULL,
97 cansearch smallint NOT NULL,
98 regexmatch text NOT NULL,
99 defaultvalue text NOT NULL,
100 usedefault smallint NOT NULL,
101 maxlength smallint unsigned NOT NULL,
102 PRIMARY KEY (fieldid)
103 );";
104
105 $schema['bugfieldpermission'] = "
106 CREATE TABLE " . TABLE_PREFIX . "bugfieldpermission
107 (
108 usergroupid int unsigned NOT NULL,
109 fieldid int unsigned NOT NULL,
110 mask smallint unsigned NOT NULL,
111 PRIMARY KEY (usergroupid, fieldid)
112 );";
113
114 $schema['comment'] = "
115 CREATE TABLE " . TABLE_PREFIX . "comment
116 (
117 commentid int unsigned NOT NULL AUTO_INCREMENT,
118 bugid int unsigned NOT NULL,
119 userid int unsigned NOT NULL,
120 dateline bigint unsigned NOT NULL,
121 comment text NOT NULL,
122 comment_parsed text NOT NULL,
123 hidden smallint unsigned NOT NULL,
124 parselinks bool NULL,
125 PRIMARY KEY (commentid),
126 FULLTEXT KEY comment (comment)
127 );";
128
129 $schema['component'] = "
130 CREATE TABLE " . TABLE_PREFIX . "component
131 (
132 componentid int unsigned NOT NULL AUTO_INCREMENT,
133 productid int unsigned NOT NULL,
134 displayorder int unsigned NOT NULL,
135 title varchar(255) NOT NULL,
136 description text NOT NULL,
137 PRIMARY KEY (componentid)
138 );";
139
140 $schema['datastore'] = "
141 CREATE TABLE " . TABLE_PREFIX . "datastore
142 (
143 title varchar(255) NOT NULL,
144 data text NOT NULL,
145 PRIMARY KEY (title)
146 );";
147
148 $schema['favorite'] = "
149 CREATE TABLE " . TABLE_PREFIX . "favorite
150 (
151 userid int unsigned NOT NULL,
152 bugid int unsigned NOT NULL,
153 PRIMARY KEY (userid, bugid)
154 );";
155
156 $schema['fieldhelp'] = "
157 CREATE TABLE " . TABLE_PREFIX . "fieldhelp
158 (
159 keystring varchar(255) NOT NULL,
160 title varchar(255) NOT NULL,
161 body text NOT NULL,
162 PRIMARY KEY (keystring)
163 );";
164
165 $schema['history'] = "
166 CREATE TABLE " . TABLE_PREFIX . "history
167 (
168 historyid bigint unsigned NOT NULL AUTO_INCREMENT,
169 bugid int unsigned NOT NULL,
170 attachmentid int unsigned NOT NULL,
171 commentid int unsigned NOT NULL,
172 dateline bigint unsigned NOT NULL,
173 userid int unsigned NOT NULL,
174 field varchar(255) NOT NULL,
175 original text NOT NULL,
176 changed text NOT NULL,
177 PRIMARY KEY (historyid)
178 );";
179
180 $schema['language'] = "
181 CREATE TABLE " . TABLE_PREFIX . "language
182 (
183 languageid int unsigned NOT NULL AUTO_INCREMENT,
184 title varchar(255) NOT NULL,
185 langcode varchar(5) NOT NULL,
186 charset varchar(15) NOT NULL,
187 direction char(3) NOT NULL,
188 userselect smallint unsigned NOT NULL,
189 PRIMARY KEY (languageid),
190 UNIQUE KEY languagecode (langcode)
191 );";
192
193 $schema['passwordreset'] = "
194 CREATE TABLE " . TABLE_PREFIX . "passwordreset
195 (
196 activatorid varchar(250) NOT NULL,
197 userid int NOT NULL,
198 dateline int NOT NULL,
199 PRIMARY KEY (activatorid)
200 );";
201
202 $schema['permission'] = "
203 CREATE TABLE " . TABLE_PREFIX . "permission
204 (
205 usergroupid int unsigned NOT NULL,
206 productid int unsigned NOT NULL,
207 mask smallint NOT NULL,
208 PRIMARY KEY (usergroupid, productid)
209 );";
210
211 $schema['priority'] = "
212 CREATE TABLE " . TABLE_PREFIX . "priority
213 (
214 priorityid int unsigned NOT NULL AUTO_INCREMENT,
215 priority varchar(255) NOT NULL,
216 displayorder int unsigned NOT NULL,
217 PRIMARY KEY (priorityid)
218 );";
219
220 $schema['product'] = "
221 CREATE TABLE " . TABLE_PREFIX . "product
222 (
223 productid int unsigned NOT NULL AUTO_INCREMENT,
224 parentid int unsigned NULL,
225 displayorder int unsigned NOT NULL,
226 title varchar(255) NOT NULL,
227 description text NOT NULL,
228 PRIMARY KEY (productid)
229 );";
230
231 $schema['resolution'] = "
232 CREATE TABLE " . TABLE_PREFIX . "resolution
233 (
234 resolutionid int unsigned NOT NULL AUTO_INCREMENT,
235 resolution varchar(255) NOT NULL,
236 displayorder int unsigned NOT NULL,
237 PRIMARY KEY (resolutionid)
238 );";
239
240 $schema['search'] = "
241 CREATE TABLE " . TABLE_PREFIX . "search
242 (
243 searchid int unsigned NOT NULL AUTO_INCREMENT,
244 userid int unsigned NOT NULL,
245 dateline bigint unsigned NOT NULL,
246 query text NOT NULL,
247 ids text NOT NULL,
248 orderby text NOT NULL,
249 hilight varchar(255) NOT NULL,
250 resultcount int NULL,
251 name varchar(250) NULL,
252 PRIMARY KEY (searchid)
253 );";
254
255 $schema['setting'] = "
256 CREATE TABLE " . TABLE_PREFIX . "setting
257 (
258 varname varchar(255) NOT NULL,
259 value text NOT NULL,
260 PRIMARY KEY (varname)
261 );";
262
263 $schema['severity'] = "
264 CREATE TABLE " . TABLE_PREFIX . "severity
265 (
266 severityid int unsigned NOT NULL AUTO_INCREMENT,
267 severity varchar(255) NOT NULL,
268 displayorder int unsigned NOT NULL,
269 PRIMARY KEY (severityid)
270 );";
271
272 $schema['status'] = "
273 CREATE TABLE " . TABLE_PREFIX . "status
274 (
275 statusid int unsigned NOT NULL AUTO_INCREMENT,
276 status varchar(255) NOT NULL,
277 displayorder int unsigned NOT NULL,
278 color varchar(10) NOT NULL,
279 PRIMARY KEY (statusid)
280 );";
281
282 $schema['template'] = "
283 CREATE TABLE " . TABLE_PREFIX . "template
284 (
285 filename varchar(255) NOT NULL,
286 template text NOT NULL,
287 timestamp int unsigned NOT NULL,
288 PRIMARY KEY (filename)
289 );";
290
291 $schema['user'] = "
292 CREATE TABLE " . TABLE_PREFIX . "user
293 (
294 userid int unsigned NOT NULL AUTO_INCREMENT,
295 email varchar(255) NOT NULL,
296 displayname varchar(255) NOT NULL,
297 usergroupid int unsigned NOT NULL,
298 password varchar(32) NOT NULL,
299 salt varchar(15) NOT NULL,
300 authkey varchar(65) NOT NULL,
301 showemail smallint unsigned NOT NULL,
302 showcolors bool NULL,
303 languageid int unsigned NOT NULL,
304 timezone float NOT NULL,
305 usedst bool NOT NULL,
306 hidestatuses text NOT NULL,
307 defaultsortkey varchar(50) NULL,
308 defaultsortas varchar(10) NULL,
309 columnoptions text NULL,
310 authid varchar(255) NULL,
311 PRIMARY KEY (userid)
312 );";
313
314 $schema['useractivation'] = "
315 CREATE TABLE " . TABLE_PREFIX . "useractivation
316 (
317 activator varchar(25) NOT NULL,
318 userid int unsigned NOT NULL,
319 dateline int unsigned NOT NULL,
320 usergroupid int unsigned NOT NULL,
321 PRIMARY KEY (activator)
322 );";
323
324 $schema['useremail'] = "
325 CREATE TABLE " . TABLE_PREFIX . "useremail
326 (
327 userid int unsigned NOT NULL,
328 mask int unsigned NOT NULL,
329 relation int unsigned NOT NULL
330 );";
331
332 $schema['usergroup'] = "
333 CREATE TABLE " . TABLE_PREFIX . "usergroup
334 (
335 usergroupid int unsigned NOT NULL AUTO_INCREMENT,
336 title varchar(255) NOT NULL,
337 displaytitle varchar(255) NOT NULL,
338 permissions int unsigned NOT NULL,
339 PRIMARY KEY (usergroupid)
340 );";
341
342 $schema['version'] = "
343 CREATE TABLE " . TABLE_PREFIX . "version
344 (
345 versionid int unsigned NOT NULL AUTO_INCREMENT,
346 productid int unsigned NOT NULL,
347 version varchar(255) NOT NULL,
348 displayorder int unsigned NOT NULL,
349 obsolete bool NULL,
350 PRIMARY KEY (versionid)
351 );";
352
353 $schema['vote'] = "
354 CREATE TABLE " . TABLE_PREFIX . "vote
355 (
356 bugid int unsigned NOT NULL,
357 userids text NOT NULL,
358 votefor int unsigned NOT NULL,
359 voteagainst int unsigned NOT NULL,
360 PRIMARY KEY (bugid)
361 );";
362
363 /*=====================================================================*\
364 || ###################################################################
365 || # $HeadURL$
366 || # $Id$
367 || ###################################################################
368 \*=====================================================================*/
369 ?>