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