dbicdh/PostgreSQL/deploy/1/001-auto.sql
author Vincent Tondellier <tonton@team1664.org>
Sat, 09 May 2015 23:28:45 +0200
changeset 69 5794f095a709
parent 59 4f4f8a52a874
permissions -rw-r--r--
Fix DB relations (even if they are not used)

-- 
-- Created by SQL::Translator::Producer::PostgreSQL
-- Created on Sun Feb  1 19:58:35 2015
-- 
;
--
-- Table: crash_users.
--
CREATE TABLE "crash_users" (
  "id" serial NOT NULL,
  "user_id" character varying(40) NOT NULL,
  "os" character varying(40),
  "cpu_arch" character varying(10),
  "cpu_count" integer,
  "extra_info" text,
  PRIMARY KEY ("id")
);

;
--
-- Table: modules.
--
CREATE TABLE "modules" (
  "id" serial NOT NULL,
  "debug_id" character varying(33) NOT NULL,
  "filename" character varying(128) NOT NULL,
  "version" character varying(64),
  PRIMARY KEY ("id"),
  CONSTRAINT "module_id" UNIQUE ("debug_id", "filename")
);

;
--
-- Table: products.
--
CREATE TABLE "products" (
  "id" serial NOT NULL,
  "distributor" character varying(40),
  "name" character varying(40),
  "version" character varying(16),
  "release_channel" character varying,
  PRIMARY KEY ("id")
);

;
--
-- Table: crash_reports.
--
CREATE TABLE "crash_reports" (
  "id" serial NOT NULL,
  "start_time" timestamp,
  "crash_time" timestamp,
  "uuid" character varying(36) NOT NULL,
  "bug_reference" character varying(20),
  "crash_user_id" integer NOT NULL,
  "product_id" integer NOT NULL,
  PRIMARY KEY ("id")
);
CREATE INDEX "crash_reports_idx_crash_user_id" on "crash_reports" ("crash_user_id");
CREATE INDEX "crash_reports_idx_product_id" on "crash_reports" ("product_id");

;
--
-- Table: crash_threads.
--
CREATE TABLE "crash_threads" (
  "id" serial NOT NULL,
  "number" integer NOT NULL,
  "crashed" bool NOT NULL,
  "crash_report_id" integer NOT NULL,
  PRIMARY KEY ("id")
);
CREATE INDEX "crash_threads_idx_crash_report_id" on "crash_threads" ("crash_report_id");

;
--
-- Table: crash_frames.
--
CREATE TABLE "crash_frames" (
  "id" serial NOT NULL,
  "number" integer NOT NULL,
  "function" character varying(128),
  "source_file" character varying(128),
  "source_line" integer,
  "stack_walk_mode" character varying(10),
  "crash_thread_id" integer NOT NULL,
  "module_id" integer NOT NULL,
  PRIMARY KEY ("id")
);
CREATE INDEX "crash_frames_idx_crash_thread_id" on "crash_frames" ("crash_thread_id");
CREATE INDEX "crash_frames_idx_module_id" on "crash_frames" ("module_id");

;
--
-- Foreign Key Definitions
--

;
ALTER TABLE "crash_reports" ADD CONSTRAINT "crash_reports_fk_crash_user_id" FOREIGN KEY ("crash_user_id")
  REFERENCES "crash_users" ("id") DEFERRABLE;

;
ALTER TABLE "crash_reports" ADD CONSTRAINT "crash_reports_fk_product_id" FOREIGN KEY ("product_id")
  REFERENCES "products" ("id") DEFERRABLE;

;
ALTER TABLE "crash_threads" ADD CONSTRAINT "crash_threads_fk_crash_report_id" FOREIGN KEY ("crash_report_id")
  REFERENCES "crash_reports" ("id") DEFERRABLE;

;
ALTER TABLE "crash_frames" ADD CONSTRAINT "crash_frames_fk_crash_thread_id" FOREIGN KEY ("crash_thread_id")
  REFERENCES "crash_threads" ("id") DEFERRABLE;

;
ALTER TABLE "crash_frames" ADD CONSTRAINT "crash_frames_fk_module_id" FOREIGN KEY ("module_id")
  REFERENCES "modules" ("id") DEFERRABLE;

;