1 -- |
|
2 -- Created by SQL::Translator::Producer::PostgreSQL |
|
3 -- Created on Sun Feb 1 19:58:35 2015 |
|
4 -- |
|
5 ; |
|
6 -- |
|
7 -- Table: crash_users. |
|
8 -- |
|
9 CREATE TABLE "crash_users" ( |
|
10 "id" serial NOT NULL, |
|
11 "user_id" character varying(40) NOT NULL, |
|
12 "os" character varying(40), |
|
13 "cpu_arch" character varying(10), |
|
14 "cpu_count" integer, |
|
15 "extra_info" text, |
|
16 PRIMARY KEY ("id") |
|
17 ); |
|
18 |
|
19 ; |
|
20 -- |
|
21 -- Table: modules. |
|
22 -- |
|
23 CREATE TABLE "modules" ( |
|
24 "id" serial NOT NULL, |
|
25 "debug_id" character varying(33) NOT NULL, |
|
26 "filename" character varying(128) NOT NULL, |
|
27 "version" character varying(64), |
|
28 PRIMARY KEY ("id"), |
|
29 CONSTRAINT "module_id" UNIQUE ("debug_id", "filename") |
|
30 ); |
|
31 |
|
32 ; |
|
33 -- |
|
34 -- Table: products. |
|
35 -- |
|
36 CREATE TABLE "products" ( |
|
37 "id" serial NOT NULL, |
|
38 "distributor" character varying(40), |
|
39 "name" character varying(40), |
|
40 "version" character varying(16), |
|
41 "release_channel" character varying, |
|
42 PRIMARY KEY ("id") |
|
43 ); |
|
44 |
|
45 ; |
|
46 -- |
|
47 -- Table: crash_reports. |
|
48 -- |
|
49 CREATE TABLE "crash_reports" ( |
|
50 "id" serial NOT NULL, |
|
51 "start_time" timestamp, |
|
52 "crash_time" timestamp, |
|
53 "uuid" character varying(36) NOT NULL, |
|
54 "bug_reference" character varying(20), |
|
55 "crash_user_id" integer NOT NULL, |
|
56 "product_id" integer NOT NULL, |
|
57 PRIMARY KEY ("id") |
|
58 ); |
|
59 CREATE INDEX "crash_reports_idx_crash_user_id" on "crash_reports" ("crash_user_id"); |
|
60 CREATE INDEX "crash_reports_idx_product_id" on "crash_reports" ("product_id"); |
|
61 |
|
62 ; |
|
63 -- |
|
64 -- Table: crash_threads. |
|
65 -- |
|
66 CREATE TABLE "crash_threads" ( |
|
67 "id" serial NOT NULL, |
|
68 "number" integer NOT NULL, |
|
69 "crashed" bool NOT NULL, |
|
70 "crash_report_id" integer NOT NULL, |
|
71 PRIMARY KEY ("id") |
|
72 ); |
|
73 CREATE INDEX "crash_threads_idx_crash_report_id" on "crash_threads" ("crash_report_id"); |
|
74 |
|
75 ; |
|
76 -- |
|
77 -- Table: crash_frames. |
|
78 -- |
|
79 CREATE TABLE "crash_frames" ( |
|
80 "id" serial NOT NULL, |
|
81 "number" integer NOT NULL, |
|
82 "function" character varying(128), |
|
83 "source_file" character varying(128), |
|
84 "source_line" integer, |
|
85 "stack_walk_mode" character varying(10), |
|
86 "crash_thread_id" integer NOT NULL, |
|
87 "module_id" integer NOT NULL, |
|
88 PRIMARY KEY ("id") |
|
89 ); |
|
90 CREATE INDEX "crash_frames_idx_crash_thread_id" on "crash_frames" ("crash_thread_id"); |
|
91 CREATE INDEX "crash_frames_idx_module_id" on "crash_frames" ("module_id"); |
|
92 |
|
93 ; |
|
94 -- |
|
95 -- Foreign Key Definitions |
|
96 -- |
|
97 |
|
98 ; |
|
99 ALTER TABLE "crash_reports" ADD CONSTRAINT "crash_reports_fk_crash_user_id" FOREIGN KEY ("crash_user_id") |
|
100 REFERENCES "crash_users" ("id") DEFERRABLE; |
|
101 |
|
102 ; |
|
103 ALTER TABLE "crash_reports" ADD CONSTRAINT "crash_reports_fk_product_id" FOREIGN KEY ("product_id") |
|
104 REFERENCES "products" ("id") DEFERRABLE; |
|
105 |
|
106 ; |
|
107 ALTER TABLE "crash_threads" ADD CONSTRAINT "crash_threads_fk_crash_report_id" FOREIGN KEY ("crash_report_id") |
|
108 REFERENCES "crash_reports" ("id") DEFERRABLE; |
|
109 |
|
110 ; |
|
111 ALTER TABLE "crash_frames" ADD CONSTRAINT "crash_frames_fk_crash_thread_id" FOREIGN KEY ("crash_thread_id") |
|
112 REFERENCES "crash_threads" ("id") DEFERRABLE; |
|
113 |
|
114 ; |
|
115 ALTER TABLE "crash_frames" ADD CONSTRAINT "crash_frames_fk_module_id" FOREIGN KEY ("module_id") |
|
116 REFERENCES "modules" ("id") DEFERRABLE; |
|
117 |
|
118 ; |
|