]> git.donarmstrong.com Git - debbugs.git/blob - sql/PostgreSQL/deploy/6/001-auto.sql
3b4b1220ddea66db4228e978136e2fe4117b89a0
[debbugs.git] / sql / PostgreSQL / deploy / 6 / 001-auto.sql
1 -- 
2 -- Created by SQL::Translator::Producer::PostgreSQL
3 -- Created on Sat Apr 15 20:14:22 2017
4 -- 
5 ;
6 --
7 -- Table: arch
8 --
9 CREATE TABLE "arch" (
10   "id" serial NOT NULL,
11   "arch" text NOT NULL,
12   PRIMARY KEY ("id"),
13   CONSTRAINT "arch_arch_key" UNIQUE ("arch")
14 );
15
16 ;
17 --
18 -- Table: bin_pkg
19 --
20 CREATE TABLE "bin_pkg" (
21   "id" serial NOT NULL,
22   "pkg" text NOT NULL,
23   PRIMARY KEY ("id"),
24   CONSTRAINT "bin_pkg_pkg_key" UNIQUE ("pkg")
25 );
26
27 ;
28 --
29 -- Table: column_comments
30 --
31 CREATE TABLE "column_comments" (
32   "table_name" text NOT NULL,
33   "column_name" text NOT NULL,
34   "comment_text" text NOT NULL,
35   CONSTRAINT "column_comments_table_name_column_name_idx" UNIQUE ("table_name", "column_name")
36 );
37
38 ;
39 --
40 -- Table: correspondent
41 --
42 CREATE TABLE "correspondent" (
43   "id" serial NOT NULL,
44   "addr" text NOT NULL,
45   PRIMARY KEY ("id"),
46   CONSTRAINT "correspondent_addr_idx" UNIQUE ("addr")
47 );
48
49 ;
50 --
51 -- Table: message
52 --
53 CREATE TABLE "message" (
54   "id" serial NOT NULL,
55   "msgid" text DEFAULT '' NOT NULL,
56   "from_complete" text DEFAULT '' NOT NULL,
57   "to_complete" text DEFAULT '' NOT NULL,
58   "subject" text DEFAULT '' NOT NULL,
59   "sent_date" timestamp with time zone,
60   "refs" text DEFAULT '' NOT NULL,
61   "spam_score" double precision DEFAULT '0' NOT NULL,
62   "is_spam" boolean DEFAULT false NOT NULL,
63   PRIMARY KEY ("id"),
64   CONSTRAINT "message_msgid_from_complete_to_complete_subject_idx" UNIQUE ("msgid", "from_complete", "to_complete", "subject")
65 );
66 CREATE INDEX "message_msgid_idx" on "message" ("msgid");
67 CREATE INDEX "message_subject_idx" on "message" ("subject");
68
69 ;
70 --
71 -- Table: severity
72 --
73 CREATE TABLE "severity" (
74   "id" serial NOT NULL,
75   "severity" text NOT NULL,
76   "ordering" integer DEFAULT 5 NOT NULL,
77   "strong" boolean DEFAULT false,
78   "obsolete" boolean DEFAULT false,
79   PRIMARY KEY ("id"),
80   CONSTRAINT "severity_severity_idx" UNIQUE ("severity")
81 );
82 CREATE INDEX "severity_ordering_idx" on "severity" ("ordering");
83
84 ;
85 --
86 -- Table: src_pkg
87 --
88 CREATE TABLE "src_pkg" (
89   "id" serial NOT NULL,
90   "pkg" text NOT NULL,
91   "pseduopkg" boolean DEFAULT false NOT NULL,
92   "alias_of" integer,
93   "creation" timestamp with time zone DEFAULT current_timestamp NOT NULL,
94   "disabled" timestamp with time zone DEFAULT 'infinity' NOT NULL,
95   "last_modified" timestamp with time zone DEFAULT current_timestamp NOT NULL,
96   "obsolete" boolean DEFAULT false NOT NULL,
97   PRIMARY KEY ("id"),
98   CONSTRAINT "src_pkg_pkg_disabled" UNIQUE ("pkg", "disabled")
99 );
100 CREATE INDEX "src_pkg_idx_alias_of" on "src_pkg" ("alias_of");
101 CREATE INDEX "src_pkg_pkg" on "src_pkg" ("pkg");
102
103 ;
104 --
105 -- Table: suite
106 --
107 CREATE TABLE "suite" (
108   "id" serial NOT NULL,
109   "codename" text NOT NULL,
110   "suite_name" text,
111   "version" text,
112   "active" boolean DEFAULT true,
113   PRIMARY KEY ("id"),
114   CONSTRAINT "suite_idx_codename" UNIQUE ("codename"),
115   CONSTRAINT "suite_idx_version" UNIQUE ("version"),
116   CONSTRAINT "suite_suite_name_key" UNIQUE ("suite_name")
117 );
118
119 ;
120 --
121 -- Table: table_comments
122 --
123 CREATE TABLE "table_comments" (
124   "table_name" text NOT NULL,
125   "comment_text" text NOT NULL,
126   CONSTRAINT "table_comments_table_name_idx" UNIQUE ("table_name"),
127   CONSTRAINT "table_comments_table_name_key" UNIQUE ("table_name")
128 );
129
130 ;
131 --
132 -- Table: tag
133 --
134 CREATE TABLE "tag" (
135   "id" serial NOT NULL,
136   "tag" text NOT NULL,
137   "obsolete" boolean DEFAULT false,
138   PRIMARY KEY ("id"),
139   CONSTRAINT "tag_tag_key" UNIQUE ("tag")
140 );
141
142 ;
143 --
144 -- Table: correspondent_full_name
145 --
146 CREATE TABLE "correspondent_full_name" (
147   "correspondent" integer NOT NULL,
148   "full_name" text NOT NULL,
149   "last_seen" timestamp DEFAULT current_timestamp NOT NULL,
150   CONSTRAINT "correspondent_full_name_correspondent_full_name_idx" UNIQUE ("correspondent", "full_name")
151 );
152 CREATE INDEX "correspondent_full_name_idx_correspondent" on "correspondent_full_name" ("correspondent");
153 CREATE INDEX "correspondent_full_name_idx_full_name" on "correspondent_full_name" ("full_name");
154 CREATE INDEX "correspondent_full_name_idx_last_seen" on "correspondent_full_name" ("last_seen");
155
156 ;
157 --
158 -- Table: maintainer
159 --
160 CREATE TABLE "maintainer" (
161   "id" serial NOT NULL,
162   "name" text NOT NULL,
163   "correspondent" integer NOT NULL,
164   "created" timestamp with time zone DEFAULT current_timestamp NOT NULL,
165   "modified" timestamp with time zone DEFAULT current_timestamp NOT NULL,
166   PRIMARY KEY ("id"),
167   CONSTRAINT "maintainer_name_idx" UNIQUE ("name")
168 );
169 CREATE INDEX "maintainer_idx_correspondent" on "maintainer" ("correspondent");
170
171 ;
172 --
173 -- Table: message_refs
174 --
175 CREATE TABLE "message_refs" (
176   "message" integer NOT NULL,
177   "refs" integer NOT NULL,
178   "inferred" boolean DEFAULT false,
179   "primary_ref" boolean DEFAULT false,
180   CONSTRAINT "message_refs_message_refs_idx" UNIQUE ("message", "refs")
181 );
182 CREATE INDEX "message_refs_idx_message" on "message_refs" ("message");
183 CREATE INDEX "message_refs_idx_refs" on "message_refs" ("refs");
184
185 ;
186 --
187 -- Table: user_tag
188 --
189 CREATE TABLE "user_tag" (
190   "id" serial NOT NULL,
191   "tag" text NOT NULL,
192   "correspondent" integer NOT NULL,
193   PRIMARY KEY ("id"),
194   CONSTRAINT "user_tag_tag_correspondent" UNIQUE ("tag", "correspondent")
195 );
196 CREATE INDEX "user_tag_idx_correspondent" on "user_tag" ("correspondent");
197 CREATE INDEX "user_tag_correspondent" on "user_tag" ("correspondent");
198
199 ;
200 --
201 -- Table: bug
202 --
203 CREATE TABLE "bug" (
204   "id" integer NOT NULL,
205   "creation" timestamp with time zone DEFAULT current_timestamp NOT NULL,
206   "log_modified" timestamp with time zone DEFAULT current_timestamp NOT NULL,
207   "last_modified" timestamp with time zone DEFAULT current_timestamp NOT NULL,
208   "archived" boolean DEFAULT false NOT NULL,
209   "unarchived" timestamp with time zone,
210   "forwarded" text DEFAULT '' NOT NULL,
211   "summary" text DEFAULT '' NOT NULL,
212   "outlook" text DEFAULT '' NOT NULL,
213   "subject" text NOT NULL,
214   "severity" integer NOT NULL,
215   "done" integer,
216   "done_full" text DEFAULT '' NOT NULL,
217   "owner" integer,
218   "owner_full" text DEFAULT '' NOT NULL,
219   "submitter" integer,
220   "submitter_full" text DEFAULT '' NOT NULL,
221   "unknown_packages" text DEFAULT '' NOT NULL,
222   PRIMARY KEY ("id")
223 );
224 CREATE INDEX "bug_idx_done" on "bug" ("done");
225 CREATE INDEX "bug_idx_owner" on "bug" ("owner");
226 CREATE INDEX "bug_idx_severity" on "bug" ("severity");
227 CREATE INDEX "bug_idx_submitter" on "bug" ("submitter");
228 CREATE INDEX "bug_idxowner" on "bug" ("owner");
229 CREATE INDEX "bug_idxsubmitter" on "bug" ("submitter");
230 CREATE INDEX "bug_idxdone" on "bug" ("done");
231 CREATE INDEX "bug_idxforwarded" on "bug" ("forwarded");
232 CREATE INDEX "bug_idxlast_modified" on "bug" ("last_modified");
233 CREATE INDEX "bug_idxseverity" on "bug" ("severity");
234 CREATE INDEX "bug_idxcreation" on "bug" ("creation");
235 CREATE INDEX "bug_idxlog_modified" on "bug" ("log_modified");
236
237 ;
238 --
239 -- Table: message_correspondent
240 --
241 CREATE TABLE "message_correspondent" (
242   "message" integer NOT NULL,
243   "correspondent" integer NOT NULL,
244   "correspondent_type" character varying DEFAULT 'to' NOT NULL,
245   CONSTRAINT "message_correspondent_message_correspondent_correspondent_t_idx" UNIQUE ("message", "correspondent", "correspondent_type")
246 );
247 CREATE INDEX "message_correspondent_idx_correspondent" on "message_correspondent" ("correspondent");
248 CREATE INDEX "message_correspondent_idx_message" on "message_correspondent" ("message");
249 CREATE INDEX "message_correspondent_idxcorrespondent" on "message_correspondent" ("correspondent");
250 CREATE INDEX "message_correspondent_idxmessage" on "message_correspondent" ("message");
251
252 ;
253 --
254 -- Table: bug_blocks
255 --
256 CREATE TABLE "bug_blocks" (
257   "id" serial NOT NULL,
258   "bug" integer NOT NULL,
259   "blocks" integer NOT NULL,
260   PRIMARY KEY ("id"),
261   CONSTRAINT "bug_blocks_bug_id_blocks_idx" UNIQUE ("bug", "blocks")
262 );
263 CREATE INDEX "bug_blocks_idx_blocks" on "bug_blocks" ("blocks");
264 CREATE INDEX "bug_blocks_idx_bug" on "bug_blocks" ("bug");
265 CREATE INDEX "bug_blocks_bug_idx" on "bug_blocks" ("bug");
266 CREATE INDEX "bug_blocks_blocks_idx" on "bug_blocks" ("blocks");
267
268 ;
269 --
270 -- Table: bug_merged
271 --
272 CREATE TABLE "bug_merged" (
273   "id" serial NOT NULL,
274   "bug" integer NOT NULL,
275   "merged" integer NOT NULL,
276   PRIMARY KEY ("id"),
277   CONSTRAINT "bug_merged_bug_id_merged_idx" UNIQUE ("bug", "merged")
278 );
279 CREATE INDEX "bug_merged_idx_bug" on "bug_merged" ("bug");
280 CREATE INDEX "bug_merged_idx_merged" on "bug_merged" ("merged");
281 CREATE INDEX "bug_merged_bug_idx" on "bug_merged" ("bug");
282 CREATE INDEX "bug_merged_merged_idx" on "bug_merged" ("merged");
283
284 ;
285 --
286 -- Table: src_ver
287 --
288 CREATE TABLE "src_ver" (
289   "id" serial NOT NULL,
290   "src_pkg" integer NOT NULL,
291   "ver" debversion NOT NULL,
292   "maintainer" integer,
293   "upload_date" timestamp with time zone DEFAULT current_timestamp NOT NULL,
294   "based_on" integer,
295   PRIMARY KEY ("id"),
296   CONSTRAINT "src_ver_src_pkg_id_ver" UNIQUE ("src_pkg", "ver")
297 );
298 CREATE INDEX "src_ver_idx_based_on" on "src_ver" ("based_on");
299 CREATE INDEX "src_ver_idx_maintainer" on "src_ver" ("maintainer");
300 CREATE INDEX "src_ver_idx_src_pkg" on "src_ver" ("src_pkg");
301
302 ;
303 --
304 -- Table: bug_affects_binpackage
305 --
306 CREATE TABLE "bug_affects_binpackage" (
307   "bug" integer NOT NULL,
308   "bin_pkg" integer NOT NULL,
309   CONSTRAINT "bug_affects_binpackage_id_pkg" UNIQUE ("bug", "bin_pkg")
310 );
311 CREATE INDEX "bug_affects_binpackage_idx_bin_pkg" on "bug_affects_binpackage" ("bin_pkg");
312 CREATE INDEX "bug_affects_binpackage_idx_bug" on "bug_affects_binpackage" ("bug");
313
314 ;
315 --
316 -- Table: bug_affects_srcpackage
317 --
318 CREATE TABLE "bug_affects_srcpackage" (
319   "bug" integer NOT NULL,
320   "src_pkg" integer NOT NULL,
321   CONSTRAINT "bug_affects_srcpackage_id_pkg" UNIQUE ("bug", "src_pkg")
322 );
323 CREATE INDEX "bug_affects_srcpackage_idx_bug" on "bug_affects_srcpackage" ("bug");
324 CREATE INDEX "bug_affects_srcpackage_idx_src_pkg" on "bug_affects_srcpackage" ("src_pkg");
325
326 ;
327 --
328 -- Table: bug_binpackage
329 --
330 CREATE TABLE "bug_binpackage" (
331   "bug" integer NOT NULL,
332   "bin_pkg" integer NOT NULL,
333   CONSTRAINT "bug_binpackage_id_pkg" UNIQUE ("bug", "bin_pkg")
334 );
335 CREATE INDEX "bug_binpackage_idx_bin_pkg" on "bug_binpackage" ("bin_pkg");
336 CREATE INDEX "bug_binpackage_idx_bug" on "bug_binpackage" ("bug");
337 CREATE INDEX "bug_binpackage_bin_pkg_idx" on "bug_binpackage" ("bin_pkg");
338
339 ;
340 --
341 -- Table: bug_message
342 --
343 CREATE TABLE "bug_message" (
344   "bug" integer NOT NULL,
345   "message" integer NOT NULL,
346   "message_number" integer NOT NULL,
347   "bug_log_offset" integer,
348   "offset_valid" timestamp with time zone,
349   CONSTRAINT "bug_message_bug_message_idx" UNIQUE ("bug", "message")
350 );
351 CREATE INDEX "bug_message_idx_bug" on "bug_message" ("bug");
352 CREATE INDEX "bug_message_idx_message" on "bug_message" ("message");
353 CREATE INDEX "bug_message_idx_bug_message_number" on "bug_message" ("bug", "message_number");
354
355 ;
356 --
357 -- Table: bug_srcpackage
358 --
359 CREATE TABLE "bug_srcpackage" (
360   "bug" integer NOT NULL,
361   "src_pkg" integer NOT NULL,
362   CONSTRAINT "bug_srcpackage_id_pkg" UNIQUE ("bug", "src_pkg")
363 );
364 CREATE INDEX "bug_srcpackage_idx_bug" on "bug_srcpackage" ("bug");
365 CREATE INDEX "bug_srcpackage_idx_src_pkg" on "bug_srcpackage" ("src_pkg");
366 CREATE INDEX "bug_srcpackage_src_pkg_idx" on "bug_srcpackage" ("src_pkg");
367
368 ;
369 --
370 -- Table: bug_tag
371 --
372 CREATE TABLE "bug_tag" (
373   "bug" integer NOT NULL,
374   "tag" integer NOT NULL,
375   CONSTRAINT "bug_tag_bug_tag" UNIQUE ("bug", "tag")
376 );
377 CREATE INDEX "bug_tag_idx_bug" on "bug_tag" ("bug");
378 CREATE INDEX "bug_tag_idx_tag" on "bug_tag" ("tag");
379 CREATE INDEX "bug_tag_tag" on "bug_tag" ("tag");
380
381 ;
382 --
383 -- Table: bug_user_tag
384 --
385 CREATE TABLE "bug_user_tag" (
386   "bug" integer NOT NULL,
387   "user_tag" integer NOT NULL,
388   CONSTRAINT "bug_user_tag_bug_tag" UNIQUE ("bug", "user_tag")
389 );
390 CREATE INDEX "bug_user_tag_idx_bug" on "bug_user_tag" ("bug");
391 CREATE INDEX "bug_user_tag_idx_user_tag" on "bug_user_tag" ("user_tag");
392 CREATE INDEX "bug_user_tag_tag" on "bug_user_tag" ("user_tag");
393
394 ;
395 --
396 -- Table: bug_status_cache
397 --
398 CREATE TABLE "bug_status_cache" (
399   "bug" integer NOT NULL,
400   "suite" integer,
401   "arch" integer,
402   "status" character varying NOT NULL,
403   "modified" timestamp with time zone DEFAULT current_timestamp NOT NULL,
404   "asof" timestamp with time zone DEFAULT current_timestamp NOT NULL,
405   CONSTRAINT "bug_status_cache_bug_suite_arch_idx" UNIQUE ("bug", "suite", "arch")
406 );
407 CREATE INDEX "bug_status_cache_idx_arch" on "bug_status_cache" ("arch");
408 CREATE INDEX "bug_status_cache_idx_bug" on "bug_status_cache" ("bug");
409 CREATE INDEX "bug_status_cache_idx_suite" on "bug_status_cache" ("suite");
410
411 ;
412 --
413 -- Table: src_associations
414 --
415 CREATE TABLE "src_associations" (
416   "id" serial NOT NULL,
417   "suite" integer NOT NULL,
418   "source" integer NOT NULL,
419   "created" timestamp with time zone DEFAULT current_timestamp NOT NULL,
420   "modified" timestamp with time zone DEFAULT current_timestamp NOT NULL,
421   PRIMARY KEY ("id"),
422   CONSTRAINT "src_associations_source_suite" UNIQUE ("source", "suite")
423 );
424 CREATE INDEX "src_associations_idx_source" on "src_associations" ("source");
425 CREATE INDEX "src_associations_idx_suite" on "src_associations" ("suite");
426
427 ;
428 --
429 -- Table: bin_ver
430 --
431 CREATE TABLE "bin_ver" (
432   "id" serial NOT NULL,
433   "bin_pkg" integer NOT NULL,
434   "src_ver" integer NOT NULL,
435   "arch" integer NOT NULL,
436   "ver" debversion NOT NULL,
437   PRIMARY KEY ("id"),
438   CONSTRAINT "bin_ver_bin_pkg_id_arch_idx" UNIQUE ("bin_pkg", "arch", "ver")
439 );
440 CREATE INDEX "bin_ver_idx_arch" on "bin_ver" ("arch");
441 CREATE INDEX "bin_ver_idx_bin_pkg" on "bin_ver" ("bin_pkg");
442 CREATE INDEX "bin_ver_idx_src_ver" on "bin_ver" ("src_ver");
443 CREATE INDEX "bin_ver_ver_id_idx" on "bin_ver" ("ver");
444 CREATE INDEX "bin_ver_bin_pkg_id_idx" on "bin_ver" ("bin_pkg");
445 CREATE INDEX "bin_ver_src_ver_id_idx" on "bin_ver" ("src_ver");
446 CREATE INDEX "bin_ver_src_ver_id_arch_idx" on "bin_ver" ("src_ver", "arch");
447
448 ;
449 --
450 -- Table: bug_ver
451 --
452 CREATE TABLE "bug_ver" (
453   "id" serial NOT NULL,
454   "bug" integer NOT NULL,
455   "ver_string" text,
456   "src_pkg" integer,
457   "src_ver" integer,
458   "found" boolean DEFAULT true NOT NULL,
459   "creation" timestamp with time zone DEFAULT current_timestamp NOT NULL,
460   "last_modified" timestamp with time zone DEFAULT current_timestamp NOT NULL,
461   PRIMARY KEY ("id"),
462   CONSTRAINT "bug_ver_bug_ver_string_found_idx" UNIQUE ("bug", "ver_string", "found")
463 );
464 CREATE INDEX "bug_ver_idx_bug" on "bug_ver" ("bug");
465 CREATE INDEX "bug_ver_idx_src_pkg" on "bug_ver" ("src_pkg");
466 CREATE INDEX "bug_ver_idx_src_ver" on "bug_ver" ("src_ver");
467 CREATE INDEX "bug_ver_src_pkg_id_idx" on "bug_ver" ("src_pkg");
468 CREATE INDEX "bug_ver_src_ver_id_idx" on "bug_ver" ("src_ver");
469 CREATE INDEX "bug_ver_src_pkg_id_src_ver_id_idx" on "bug_ver" ("src_pkg", "src_ver");
470
471 ;
472 --
473 -- Table: bin_associations
474 --
475 CREATE TABLE "bin_associations" (
476   "id" serial NOT NULL,
477   "suite" integer NOT NULL,
478   "bin" integer NOT NULL,
479   "created" timestamp with time zone DEFAULT current_timestamp NOT NULL,
480   "modified" timestamp with time zone DEFAULT current_timestamp NOT NULL,
481   PRIMARY KEY ("id"),
482   CONSTRAINT "bin_associations_bin_suite" UNIQUE ("bin", "suite")
483 );
484 CREATE INDEX "bin_associations_idx_bin" on "bin_associations" ("bin");
485 CREATE INDEX "bin_associations_idx_suite" on "bin_associations" ("suite");
486
487 ;
488 --
489 -- View: "binary_versions"
490 --
491 CREATE VIEW "binary_versions" ( "src_pkg", "src_ver", "bin_pkg", "arch", "bin_ver", "src_ver_based_on", "src_pkg_based_on" ) AS
492     SELECT sp.pkg AS src_pkg, sv.ver AS src_ver, bp.pkg AS bin_pkg, a.arch AS arch, b.ver AS bin_ver,
493 svb.ver AS src_ver_based_on, spb.pkg AS src_pkg_based_on
494 FROM bin_ver b JOIN arch a ON b.arch = a.id
495                       JOIN bin_pkg bp ON b.bin_pkg  = bp.id
496                JOIN src_ver sv ON b.src_ver  = sv.id
497                JOIN src_pkg sp ON sv.src_pkg = sp.id
498                LEFT OUTER JOIN src_ver svb ON sv.based_on = svb.id
499                LEFT OUTER JOIN src_pkg spb ON spb.id = svb.src_pkg;
500
501 ;
502
503 ;
504 --
505 -- View: "bug_package"
506 --
507 CREATE VIEW "bug_package" ( "bug", "pkg_id", "pkg_type", "package" ) AS
508     SELECT b.bug,b.bin_pkg,'binary',bp.pkg FROM bug_binpackage b JOIN bin_pkg bp ON bp.id=b.bin_pkg UNION
509        SELECT s.bug,s.src_pkg,'source',sp.pkg FROM bug_srcpackage s JOIN src_pkg sp ON sp.id=s.src_pkg;
510
511 ;
512
513 ;
514 --
515 -- Foreign Key Definitions
516 --
517
518 ;
519 ALTER TABLE "src_pkg" ADD CONSTRAINT "src_pkg_fk_alias_of" FOREIGN KEY ("alias_of")
520   REFERENCES "src_pkg" ("id") ON DELETE CASCADE ON UPDATE CASCADE;
521
522 ;
523 ALTER TABLE "correspondent_full_name" ADD CONSTRAINT "correspondent_full_name_fk_correspondent" FOREIGN KEY ("correspondent")
524   REFERENCES "correspondent" ("id") ON DELETE CASCADE ON UPDATE CASCADE;
525
526 ;
527 ALTER TABLE "maintainer" ADD CONSTRAINT "maintainer_fk_correspondent" FOREIGN KEY ("correspondent")
528   REFERENCES "correspondent" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION;
529
530 ;
531 ALTER TABLE "message_refs" ADD CONSTRAINT "message_refs_fk_message" FOREIGN KEY ("message")
532   REFERENCES "message" ("id") ON DELETE CASCADE ON UPDATE CASCADE;
533
534 ;
535 ALTER TABLE "message_refs" ADD CONSTRAINT "message_refs_fk_refs" FOREIGN KEY ("refs")
536   REFERENCES "message" ("id") ON DELETE CASCADE ON UPDATE CASCADE;
537
538 ;
539 ALTER TABLE "user_tag" ADD CONSTRAINT "user_tag_fk_correspondent" FOREIGN KEY ("correspondent")
540   REFERENCES "correspondent" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION;
541
542 ;
543 ALTER TABLE "bug" ADD CONSTRAINT "bug_fk_done" FOREIGN KEY ("done")
544   REFERENCES "correspondent" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION;
545
546 ;
547 ALTER TABLE "bug" ADD CONSTRAINT "bug_fk_owner" FOREIGN KEY ("owner")
548   REFERENCES "correspondent" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION;
549
550 ;
551 ALTER TABLE "bug" ADD CONSTRAINT "bug_fk_severity" FOREIGN KEY ("severity")
552   REFERENCES "severity" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION;
553
554 ;
555 ALTER TABLE "bug" ADD CONSTRAINT "bug_fk_submitter" FOREIGN KEY ("submitter")
556   REFERENCES "correspondent" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION;
557
558 ;
559 ALTER TABLE "message_correspondent" ADD CONSTRAINT "message_correspondent_fk_correspondent" FOREIGN KEY ("correspondent")
560   REFERENCES "correspondent" ("id") ON DELETE CASCADE ON UPDATE CASCADE;
561
562 ;
563 ALTER TABLE "message_correspondent" ADD CONSTRAINT "message_correspondent_fk_message" FOREIGN KEY ("message")
564   REFERENCES "message" ("id") ON DELETE CASCADE ON UPDATE CASCADE;
565
566 ;
567 ALTER TABLE "bug_blocks" ADD CONSTRAINT "bug_blocks_fk_blocks" FOREIGN KEY ("blocks")
568   REFERENCES "bug" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION;
569
570 ;
571 ALTER TABLE "bug_blocks" ADD CONSTRAINT "bug_blocks_fk_bug" FOREIGN KEY ("bug")
572   REFERENCES "bug" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION;
573
574 ;
575 ALTER TABLE "bug_merged" ADD CONSTRAINT "bug_merged_fk_bug" FOREIGN KEY ("bug")
576   REFERENCES "bug" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION;
577
578 ;
579 ALTER TABLE "bug_merged" ADD CONSTRAINT "bug_merged_fk_merged" FOREIGN KEY ("merged")
580   REFERENCES "bug" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION;
581
582 ;
583 ALTER TABLE "src_ver" ADD CONSTRAINT "src_ver_fk_based_on" FOREIGN KEY ("based_on")
584   REFERENCES "src_ver" ("id") ON DELETE CASCADE ON UPDATE CASCADE;
585
586 ;
587 ALTER TABLE "src_ver" ADD CONSTRAINT "src_ver_fk_maintainer" FOREIGN KEY ("maintainer")
588   REFERENCES "maintainer" ("id") ON DELETE SET NULL ON UPDATE CASCADE;
589
590 ;
591 ALTER TABLE "src_ver" ADD CONSTRAINT "src_ver_fk_src_pkg" FOREIGN KEY ("src_pkg")
592   REFERENCES "src_pkg" ("id") ON DELETE CASCADE ON UPDATE CASCADE;
593
594 ;
595 ALTER TABLE "bug_affects_binpackage" ADD CONSTRAINT "bug_affects_binpackage_fk_bin_pkg" FOREIGN KEY ("bin_pkg")
596   REFERENCES "bin_pkg" ("id") ON DELETE CASCADE ON UPDATE CASCADE;
597
598 ;
599 ALTER TABLE "bug_affects_binpackage" ADD CONSTRAINT "bug_affects_binpackage_fk_bug" FOREIGN KEY ("bug")
600   REFERENCES "bug" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION;
601
602 ;
603 ALTER TABLE "bug_affects_srcpackage" ADD CONSTRAINT "bug_affects_srcpackage_fk_bug" FOREIGN KEY ("bug")
604   REFERENCES "bug" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION;
605
606 ;
607 ALTER TABLE "bug_affects_srcpackage" ADD CONSTRAINT "bug_affects_srcpackage_fk_src_pkg" FOREIGN KEY ("src_pkg")
608   REFERENCES "src_pkg" ("id") ON DELETE CASCADE ON UPDATE CASCADE;
609
610 ;
611 ALTER TABLE "bug_binpackage" ADD CONSTRAINT "bug_binpackage_fk_bin_pkg" FOREIGN KEY ("bin_pkg")
612   REFERENCES "bin_pkg" ("id") ON DELETE CASCADE ON UPDATE CASCADE;
613
614 ;
615 ALTER TABLE "bug_binpackage" ADD CONSTRAINT "bug_binpackage_fk_bug" FOREIGN KEY ("bug")
616   REFERENCES "bug" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION;
617
618 ;
619 ALTER TABLE "bug_message" ADD CONSTRAINT "bug_message_fk_bug" FOREIGN KEY ("bug")
620   REFERENCES "bug" ("id") ON DELETE CASCADE ON UPDATE CASCADE;
621
622 ;
623 ALTER TABLE "bug_message" ADD CONSTRAINT "bug_message_fk_message" FOREIGN KEY ("message")
624   REFERENCES "message" ("id") ON DELETE CASCADE ON UPDATE CASCADE;
625
626 ;
627 ALTER TABLE "bug_srcpackage" ADD CONSTRAINT "bug_srcpackage_fk_bug" FOREIGN KEY ("bug")
628   REFERENCES "bug" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION;
629
630 ;
631 ALTER TABLE "bug_srcpackage" ADD CONSTRAINT "bug_srcpackage_fk_src_pkg" FOREIGN KEY ("src_pkg")
632   REFERENCES "src_pkg" ("id") ON DELETE CASCADE ON UPDATE CASCADE;
633
634 ;
635 ALTER TABLE "bug_tag" ADD CONSTRAINT "bug_tag_fk_bug" FOREIGN KEY ("bug")
636   REFERENCES "bug" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION;
637
638 ;
639 ALTER TABLE "bug_tag" ADD CONSTRAINT "bug_tag_fk_tag" FOREIGN KEY ("tag")
640   REFERENCES "tag" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION;
641
642 ;
643 ALTER TABLE "bug_user_tag" ADD CONSTRAINT "bug_user_tag_fk_bug" FOREIGN KEY ("bug")
644   REFERENCES "bug" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION;
645
646 ;
647 ALTER TABLE "bug_user_tag" ADD CONSTRAINT "bug_user_tag_fk_user_tag" FOREIGN KEY ("user_tag")
648   REFERENCES "user_tag" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION;
649
650 ;
651 ALTER TABLE "bug_status_cache" ADD CONSTRAINT "bug_status_cache_fk_arch" FOREIGN KEY ("arch")
652   REFERENCES "arch" ("id") ON DELETE CASCADE ON UPDATE CASCADE;
653
654 ;
655 ALTER TABLE "bug_status_cache" ADD CONSTRAINT "bug_status_cache_fk_bug" FOREIGN KEY ("bug")
656   REFERENCES "bug" ("id") ON DELETE CASCADE ON UPDATE CASCADE;
657
658 ;
659 ALTER TABLE "bug_status_cache" ADD CONSTRAINT "bug_status_cache_fk_suite" FOREIGN KEY ("suite")
660   REFERENCES "suite" ("id") ON DELETE CASCADE ON UPDATE CASCADE;
661
662 ;
663 ALTER TABLE "src_associations" ADD CONSTRAINT "src_associations_fk_source" FOREIGN KEY ("source")
664   REFERENCES "src_ver" ("id") ON DELETE CASCADE ON UPDATE CASCADE;
665
666 ;
667 ALTER TABLE "src_associations" ADD CONSTRAINT "src_associations_fk_suite" FOREIGN KEY ("suite")
668   REFERENCES "suite" ("id") ON DELETE CASCADE ON UPDATE CASCADE;
669
670 ;
671 ALTER TABLE "bin_ver" ADD CONSTRAINT "bin_ver_fk_arch" FOREIGN KEY ("arch")
672   REFERENCES "arch" ("id") ON DELETE CASCADE ON UPDATE CASCADE;
673
674 ;
675 ALTER TABLE "bin_ver" ADD CONSTRAINT "bin_ver_fk_bin_pkg" FOREIGN KEY ("bin_pkg")
676   REFERENCES "bin_pkg" ("id") ON DELETE CASCADE ON UPDATE CASCADE;
677
678 ;
679 ALTER TABLE "bin_ver" ADD CONSTRAINT "bin_ver_fk_src_ver" FOREIGN KEY ("src_ver")
680   REFERENCES "src_ver" ("id") ON DELETE CASCADE ON UPDATE CASCADE;
681
682 ;
683 ALTER TABLE "bug_ver" ADD CONSTRAINT "bug_ver_fk_bug" FOREIGN KEY ("bug")
684   REFERENCES "bug" ("id") ON DELETE RESTRICT ON UPDATE CASCADE;
685
686 ;
687 ALTER TABLE "bug_ver" ADD CONSTRAINT "bug_ver_fk_src_pkg" FOREIGN KEY ("src_pkg")
688   REFERENCES "src_pkg" ("id") ON DELETE SET NULL ON UPDATE CASCADE;
689
690 ;
691 ALTER TABLE "bug_ver" ADD CONSTRAINT "bug_ver_fk_src_ver" FOREIGN KEY ("src_ver")
692   REFERENCES "src_ver" ("id") ON DELETE SET NULL ON UPDATE CASCADE;
693
694 ;
695 ALTER TABLE "bin_associations" ADD CONSTRAINT "bin_associations_fk_bin" FOREIGN KEY ("bin")
696   REFERENCES "bin_ver" ("id") ON DELETE CASCADE ON UPDATE CASCADE;
697
698 ;
699 ALTER TABLE "bin_associations" ADD CONSTRAINT "bin_associations_fk_suite" FOREIGN KEY ("suite")
700   REFERENCES "suite" ("id") ON DELETE CASCADE ON UPDATE CASCADE;
701
702 ;