From d5c974318747d0312d3748e4d93a235862245fcf Mon Sep 17 00:00:00 2001 From: Don Armstrong Date: Sat, 15 Apr 2017 20:07:20 -0700 Subject: [PATCH] add postgresql upgrade and deploy from DBICDH --- sql/PostgreSQL/deploy/5/001-auto.sql | 669 +++++ sql/PostgreSQL/deploy/6/001-auto.sql | 700 +++++ sql/PostgreSQL/upgrade/5-6/001-auto.sql | 48 + sql/_source/deploy/5/001-auto.yml | 3179 +++++++++++++++++++++ sql/_source/deploy/6/001-auto.yml | 3337 +++++++++++++++++++++++ 5 files changed, 7933 insertions(+) create mode 100644 sql/PostgreSQL/deploy/5/001-auto.sql create mode 100644 sql/PostgreSQL/deploy/6/001-auto.sql create mode 100644 sql/PostgreSQL/upgrade/5-6/001-auto.sql create mode 100644 sql/_source/deploy/5/001-auto.yml create mode 100644 sql/_source/deploy/6/001-auto.yml diff --git a/sql/PostgreSQL/deploy/5/001-auto.sql b/sql/PostgreSQL/deploy/5/001-auto.sql new file mode 100644 index 0000000..3300ac9 --- /dev/null +++ b/sql/PostgreSQL/deploy/5/001-auto.sql @@ -0,0 +1,669 @@ +-- +-- Created by SQL::Translator::Producer::PostgreSQL +-- Created on Thu Apr 13 11:40:05 2017 +-- +; +-- +-- Table: arch +-- +CREATE TABLE "arch" ( + "id" serial NOT NULL, + "arch" text NOT NULL, + PRIMARY KEY ("id"), + CONSTRAINT "arch_arch_key" UNIQUE ("arch") +); + +; +-- +-- Table: bin_pkg +-- +CREATE TABLE "bin_pkg" ( + "id" serial NOT NULL, + "pkg" text NOT NULL, + PRIMARY KEY ("id"), + CONSTRAINT "bin_pkg_pkg_key" UNIQUE ("pkg") +); + +; +-- +-- Table: column_comments +-- +CREATE TABLE "column_comments" ( + "table_name" text NOT NULL, + "column_name" text NOT NULL, + "comment_text" text NOT NULL, + CONSTRAINT "column_comments_table_name_column_name_idx" UNIQUE ("table_name", "column_name") +); + +; +-- +-- Table: correspondent +-- +CREATE TABLE "correspondent" ( + "id" serial NOT NULL, + "addr" text NOT NULL, + PRIMARY KEY ("id"), + CONSTRAINT "correspondent_addr_idx" UNIQUE ("addr") +); + +; +-- +-- Table: message +-- +CREATE TABLE "message" ( + "id" serial NOT NULL, + "msgid" text DEFAULT '' NOT NULL, + "from_complete" text DEFAULT '' NOT NULL, + "to_complete" text DEFAULT '' NOT NULL, + "subject" text DEFAULT '' NOT NULL, + "sent_date" timestamp with time zone, + "refs" text DEFAULT '' NOT NULL, + "spam_score" double precision DEFAULT '0' NOT NULL, + "is_spam" boolean DEFAULT false NOT NULL, + PRIMARY KEY ("id"), + CONSTRAINT "message_msgid_from_complete_to_complete_subject_idx" UNIQUE ("msgid", "from_complete", "to_complete", "subject") +); + +; +-- +-- Table: severity +-- +CREATE TABLE "severity" ( + "id" serial NOT NULL, + "severity" text NOT NULL, + "ordering" integer DEFAULT 5 NOT NULL, + "strong" boolean DEFAULT false, + "obsolete" boolean DEFAULT false, + PRIMARY KEY ("id"), + CONSTRAINT "severity_severity_idx" UNIQUE ("severity") +); + +; +-- +-- Table: src_pkg +-- +CREATE TABLE "src_pkg" ( + "id" serial NOT NULL, + "pkg" text NOT NULL, + "pseduopkg" boolean DEFAULT false NOT NULL, + "alias_of" integer, + "creation" timestamp with time zone DEFAULT current_timestamp NOT NULL, + "disabled" timestamp with time zone DEFAULT 'infinity' NOT NULL, + "last_modified" timestamp with time zone DEFAULT current_timestamp NOT NULL, + "obsolete" boolean DEFAULT false NOT NULL, + PRIMARY KEY ("id"), + CONSTRAINT "src_pkg_pkg_disabled" UNIQUE ("pkg", "disabled") +); +CREATE INDEX "src_pkg_idx_alias_of" on "src_pkg" ("alias_of"); + +; +-- +-- Table: suite +-- +CREATE TABLE "suite" ( + "id" serial NOT NULL, + "codename" text NOT NULL, + "suite_name" text, + "version" text, + "active" boolean DEFAULT true, + PRIMARY KEY ("id"), + CONSTRAINT "suite_idx_codename" UNIQUE ("codename"), + CONSTRAINT "suite_idx_version" UNIQUE ("version"), + CONSTRAINT "suite_suite_name_key" UNIQUE ("suite_name") +); + +; +-- +-- Table: table_comments +-- +CREATE TABLE "table_comments" ( + "table_name" text NOT NULL, + "comment_text" text NOT NULL, + CONSTRAINT "table_comments_table_name_idx" UNIQUE ("table_name"), + CONSTRAINT "table_comments_table_name_key" UNIQUE ("table_name") +); + +; +-- +-- Table: tag +-- +CREATE TABLE "tag" ( + "id" serial NOT NULL, + "tag" text NOT NULL, + "obsolete" boolean DEFAULT false, + PRIMARY KEY ("id"), + CONSTRAINT "tag_tag_key" UNIQUE ("tag") +); + +; +-- +-- Table: correspondent_full_name +-- +CREATE TABLE "correspondent_full_name" ( + "correspondent" integer NOT NULL, + "full_name" text NOT NULL, + "last_seen" timestamp DEFAULT current_timestamp NOT NULL, + CONSTRAINT "correspondent_full_name_correspondent_full_name_idx" UNIQUE ("correspondent", "full_name") +); +CREATE INDEX "correspondent_full_name_idx_correspondent" on "correspondent_full_name" ("correspondent"); + +; +-- +-- Table: maintainer +-- +CREATE TABLE "maintainer" ( + "id" serial NOT NULL, + "name" text NOT NULL, + "correspondent" integer NOT NULL, + "created" timestamp with time zone DEFAULT current_timestamp NOT NULL, + "modified" timestamp with time zone DEFAULT current_timestamp NOT NULL, + PRIMARY KEY ("id"), + CONSTRAINT "maintainer_name_idx" UNIQUE ("name") +); +CREATE INDEX "maintainer_idx_correspondent" on "maintainer" ("correspondent"); + +; +-- +-- Table: message_refs +-- +CREATE TABLE "message_refs" ( + "message" integer NOT NULL, + "refs" integer NOT NULL, + "inferred" boolean DEFAULT false, + "primary_ref" boolean DEFAULT false, + CONSTRAINT "message_refs_message_refs_idx" UNIQUE ("message", "refs") +); +CREATE INDEX "message_refs_idx_message" on "message_refs" ("message"); +CREATE INDEX "message_refs_idx_refs" on "message_refs" ("refs"); + +; +-- +-- Table: user_tag +-- +CREATE TABLE "user_tag" ( + "id" serial NOT NULL, + "tag" text NOT NULL, + "correspondent" integer NOT NULL, + PRIMARY KEY ("id"), + CONSTRAINT "user_tag_tag_correspondent" UNIQUE ("tag", "correspondent") +); +CREATE INDEX "user_tag_idx_correspondent" on "user_tag" ("correspondent"); + +; +-- +-- Table: bug +-- +CREATE TABLE "bug" ( + "id" integer NOT NULL, + "creation" timestamp with time zone DEFAULT current_timestamp NOT NULL, + "log_modified" timestamp with time zone DEFAULT current_timestamp NOT NULL, + "last_modified" timestamp with time zone DEFAULT current_timestamp NOT NULL, + "archived" boolean DEFAULT false NOT NULL, + "unarchived" timestamp with time zone, + "forwarded" text DEFAULT '' NOT NULL, + "summary" text DEFAULT '' NOT NULL, + "outlook" text DEFAULT '' NOT NULL, + "subject" text NOT NULL, + "severity" integer NOT NULL, + "done" integer, + "done_full" text DEFAULT '' NOT NULL, + "owner" integer, + "owner_full" text DEFAULT '' NOT NULL, + "submitter" integer, + "submitter_full" text DEFAULT '' NOT NULL, + "unknown_packages" text DEFAULT '' NOT NULL, + PRIMARY KEY ("id") +); +CREATE INDEX "bug_idx_done" on "bug" ("done"); +CREATE INDEX "bug_idx_owner" on "bug" ("owner"); +CREATE INDEX "bug_idx_severity" on "bug" ("severity"); +CREATE INDEX "bug_idx_submitter" on "bug" ("submitter"); + +; +-- +-- Table: message_correspondent +-- +CREATE TABLE "message_correspondent" ( + "message" integer NOT NULL, + "correspondent" integer NOT NULL, + "correspondent_type" character varying DEFAULT 'to' NOT NULL, + CONSTRAINT "message_correspondent_message_correspondent_correspondent_t_idx" UNIQUE ("message", "correspondent", "correspondent_type") +); +CREATE INDEX "message_correspondent_idx_correspondent" on "message_correspondent" ("correspondent"); +CREATE INDEX "message_correspondent_idx_message" on "message_correspondent" ("message"); + +; +-- +-- Table: bug_blocks +-- +CREATE TABLE "bug_blocks" ( + "id" serial NOT NULL, + "bug" integer NOT NULL, + "blocks" integer NOT NULL, + PRIMARY KEY ("id"), + CONSTRAINT "bug_blocks_bug_id_blocks_idx" UNIQUE ("bug", "blocks") +); +CREATE INDEX "bug_blocks_idx_blocks" on "bug_blocks" ("blocks"); +CREATE INDEX "bug_blocks_idx_bug" on "bug_blocks" ("bug"); + +; +-- +-- Table: bug_merged +-- +CREATE TABLE "bug_merged" ( + "id" serial NOT NULL, + "bug" integer NOT NULL, + "merged" integer NOT NULL, + PRIMARY KEY ("id"), + CONSTRAINT "bug_merged_bug_id_merged_idx" UNIQUE ("bug", "merged") +); +CREATE INDEX "bug_merged_idx_bug" on "bug_merged" ("bug"); +CREATE INDEX "bug_merged_idx_merged" on "bug_merged" ("merged"); + +; +-- +-- Table: src_ver +-- +CREATE TABLE "src_ver" ( + "id" serial NOT NULL, + "src_pkg" integer NOT NULL, + "ver" debversion NOT NULL, + "maintainer" integer, + "upload_date" timestamp with time zone DEFAULT current_timestamp NOT NULL, + "based_on" integer, + PRIMARY KEY ("id"), + CONSTRAINT "src_ver_src_pkg_id_ver" UNIQUE ("src_pkg", "ver") +); +CREATE INDEX "src_ver_idx_based_on" on "src_ver" ("based_on"); +CREATE INDEX "src_ver_idx_maintainer" on "src_ver" ("maintainer"); +CREATE INDEX "src_ver_idx_src_pkg" on "src_ver" ("src_pkg"); + +; +-- +-- Table: bug_affects_binpackage +-- +CREATE TABLE "bug_affects_binpackage" ( + "bug" integer NOT NULL, + "bin_pkg" integer NOT NULL, + CONSTRAINT "bug_affects_binpackage_id_pkg" UNIQUE ("bug", "bin_pkg") +); +CREATE INDEX "bug_affects_binpackage_idx_bin_pkg" on "bug_affects_binpackage" ("bin_pkg"); +CREATE INDEX "bug_affects_binpackage_idx_bug" on "bug_affects_binpackage" ("bug"); + +; +-- +-- Table: bug_affects_srcpackage +-- +CREATE TABLE "bug_affects_srcpackage" ( + "bug" integer NOT NULL, + "src_pkg" integer NOT NULL, + CONSTRAINT "bug_affects_srcpackage_id_pkg" UNIQUE ("bug", "src_pkg") +); +CREATE INDEX "bug_affects_srcpackage_idx_bug" on "bug_affects_srcpackage" ("bug"); +CREATE INDEX "bug_affects_srcpackage_idx_src_pkg" on "bug_affects_srcpackage" ("src_pkg"); + +; +-- +-- Table: bug_binpackage +-- +CREATE TABLE "bug_binpackage" ( + "bug" integer NOT NULL, + "bin_pkg" integer NOT NULL, + CONSTRAINT "bug_binpackage_id_pkg" UNIQUE ("bug", "bin_pkg") +); +CREATE INDEX "bug_binpackage_idx_bin_pkg" on "bug_binpackage" ("bin_pkg"); +CREATE INDEX "bug_binpackage_idx_bug" on "bug_binpackage" ("bug"); + +; +-- +-- Table: bug_message +-- +CREATE TABLE "bug_message" ( + "bug" integer NOT NULL, + "message" integer NOT NULL, + "message_number" integer NOT NULL, + "bug_log_offset" integer, + "offset_valid" timestamp with time zone, + CONSTRAINT "bug_message_bug_message_idx" UNIQUE ("bug", "message") +); +CREATE INDEX "bug_message_idx_bug" on "bug_message" ("bug"); +CREATE INDEX "bug_message_idx_message" on "bug_message" ("message"); + +; +-- +-- Table: bug_srcpackage +-- +CREATE TABLE "bug_srcpackage" ( + "bug" integer NOT NULL, + "src_pkg" integer NOT NULL, + CONSTRAINT "bug_srcpackage_id_pkg" UNIQUE ("bug", "src_pkg") +); +CREATE INDEX "bug_srcpackage_idx_bug" on "bug_srcpackage" ("bug"); +CREATE INDEX "bug_srcpackage_idx_src_pkg" on "bug_srcpackage" ("src_pkg"); + +; +-- +-- Table: bug_tag +-- +CREATE TABLE "bug_tag" ( + "bug" integer NOT NULL, + "tag" integer NOT NULL, + CONSTRAINT "bug_tag_bug_tag" UNIQUE ("bug", "tag") +); +CREATE INDEX "bug_tag_idx_bug" on "bug_tag" ("bug"); +CREATE INDEX "bug_tag_idx_tag" on "bug_tag" ("tag"); + +; +-- +-- Table: bug_user_tag +-- +CREATE TABLE "bug_user_tag" ( + "bug" integer NOT NULL, + "user_tag" integer NOT NULL, + CONSTRAINT "bug_user_tag_bug_tag" UNIQUE ("bug", "user_tag") +); +CREATE INDEX "bug_user_tag_idx_bug" on "bug_user_tag" ("bug"); +CREATE INDEX "bug_user_tag_idx_user_tag" on "bug_user_tag" ("user_tag"); + +; +-- +-- Table: bug_status_cache +-- +CREATE TABLE "bug_status_cache" ( + "bug" integer NOT NULL, + "suite" integer, + "arch" integer, + "status" character varying NOT NULL, + "modified" timestamp with time zone DEFAULT current_timestamp NOT NULL, + "asof" timestamp with time zone DEFAULT current_timestamp NOT NULL, + CONSTRAINT "bug_status_cache_bug_suite_arch_idx" UNIQUE ("bug", "suite", "arch") +); +CREATE INDEX "bug_status_cache_idx_arch" on "bug_status_cache" ("arch"); +CREATE INDEX "bug_status_cache_idx_bug" on "bug_status_cache" ("bug"); +CREATE INDEX "bug_status_cache_idx_suite" on "bug_status_cache" ("suite"); + +; +-- +-- Table: src_associations +-- +CREATE TABLE "src_associations" ( + "id" serial NOT NULL, + "suite" integer NOT NULL, + "source" integer NOT NULL, + "created" timestamp with time zone DEFAULT current_timestamp NOT NULL, + "modified" timestamp with time zone DEFAULT current_timestamp NOT NULL, + PRIMARY KEY ("id"), + CONSTRAINT "src_associations_source_suite" UNIQUE ("source", "suite") +); +CREATE INDEX "src_associations_idx_source" on "src_associations" ("source"); +CREATE INDEX "src_associations_idx_suite" on "src_associations" ("suite"); + +; +-- +-- Table: bin_ver +-- +CREATE TABLE "bin_ver" ( + "id" serial NOT NULL, + "bin_pkg" integer NOT NULL, + "src_ver" integer NOT NULL, + "arch" integer NOT NULL, + "ver" debversion NOT NULL, + PRIMARY KEY ("id"), + CONSTRAINT "bin_ver_bin_pkg_id_arch_idx" UNIQUE ("bin_pkg", "arch", "ver") +); +CREATE INDEX "bin_ver_idx_arch" on "bin_ver" ("arch"); +CREATE INDEX "bin_ver_idx_bin_pkg" on "bin_ver" ("bin_pkg"); +CREATE INDEX "bin_ver_idx_src_ver" on "bin_ver" ("src_ver"); + +; +-- +-- Table: bug_ver +-- +CREATE TABLE "bug_ver" ( + "id" serial NOT NULL, + "bug" integer NOT NULL, + "ver_string" text, + "src_pkg" integer, + "src_ver" integer, + "found" boolean DEFAULT true NOT NULL, + "creation" timestamp with time zone DEFAULT current_timestamp NOT NULL, + "last_modified" timestamp with time zone DEFAULT current_timestamp NOT NULL, + PRIMARY KEY ("id"), + CONSTRAINT "bug_ver_bug_ver_string_found_idx" UNIQUE ("bug", "ver_string", "found") +); +CREATE INDEX "bug_ver_idx_bug" on "bug_ver" ("bug"); +CREATE INDEX "bug_ver_idx_src_pkg" on "bug_ver" ("src_pkg"); +CREATE INDEX "bug_ver_idx_src_ver" on "bug_ver" ("src_ver"); + +; +-- +-- Table: bin_associations +-- +CREATE TABLE "bin_associations" ( + "id" serial NOT NULL, + "suite" integer NOT NULL, + "bin" integer NOT NULL, + "created" timestamp with time zone DEFAULT current_timestamp NOT NULL, + "modified" timestamp with time zone DEFAULT current_timestamp NOT NULL, + PRIMARY KEY ("id"), + CONSTRAINT "bin_associations_bin_suite" UNIQUE ("bin", "suite") +); +CREATE INDEX "bin_associations_idx_bin" on "bin_associations" ("bin"); +CREATE INDEX "bin_associations_idx_suite" on "bin_associations" ("suite"); + +; +-- +-- View: "binary_versions" +-- +CREATE VIEW "binary_versions" ( "src_pkg", "src_ver", "bin_pkg", "arch", "bin_ver", "src_ver_based_on", "src_pkg_based_on" ) AS + 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, +svb.ver AS src_ver_based_on, spb.pkg AS src_pkg_based_on +FROM bin_ver b JOIN arch a ON b.arch = a.id + JOIN bin_pkg bp ON b.bin_pkg = bp.id + JOIN src_ver sv ON b.src_ver = sv.id + JOIN src_pkg sp ON sv.src_pkg = sp.id + LEFT OUTER JOIN src_ver svb ON sv.based_on = svb.id + LEFT OUTER JOIN src_pkg spb ON spb.id = svb.src_pkg; + +; + +; +-- +-- View: "bug_package" +-- +CREATE VIEW "bug_package" ( "bug", "pkg_id", "pkg_type", "package" ) AS + SELECT b.bug,b.bin_pkg,'binary',bp.pkg FROM bug_binpackage b JOIN bin_pkg bp ON bp.id=b.bin_pkg UNION + SELECT s.bug,s.src_pkg,'source',sp.pkg FROM bug_srcpackage s JOIN src_pkg sp ON sp.id=s.src_pkg; + +; + +; +-- +-- Foreign Key Definitions +-- + +; +ALTER TABLE "src_pkg" ADD CONSTRAINT "src_pkg_fk_alias_of" FOREIGN KEY ("alias_of") + REFERENCES "src_pkg" ("id") ON DELETE CASCADE ON UPDATE CASCADE; + +; +ALTER TABLE "correspondent_full_name" ADD CONSTRAINT "correspondent_full_name_fk_correspondent" FOREIGN KEY ("correspondent") + REFERENCES "correspondent" ("id") ON DELETE CASCADE ON UPDATE CASCADE; + +; +ALTER TABLE "maintainer" ADD CONSTRAINT "maintainer_fk_correspondent" FOREIGN KEY ("correspondent") + REFERENCES "correspondent" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION; + +; +ALTER TABLE "message_refs" ADD CONSTRAINT "message_refs_fk_message" FOREIGN KEY ("message") + REFERENCES "message" ("id") ON DELETE CASCADE ON UPDATE CASCADE; + +; +ALTER TABLE "message_refs" ADD CONSTRAINT "message_refs_fk_refs" FOREIGN KEY ("refs") + REFERENCES "message" ("id") ON DELETE CASCADE ON UPDATE CASCADE; + +; +ALTER TABLE "user_tag" ADD CONSTRAINT "user_tag_fk_correspondent" FOREIGN KEY ("correspondent") + REFERENCES "correspondent" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION; + +; +ALTER TABLE "bug" ADD CONSTRAINT "bug_fk_done" FOREIGN KEY ("done") + REFERENCES "correspondent" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION; + +; +ALTER TABLE "bug" ADD CONSTRAINT "bug_fk_owner" FOREIGN KEY ("owner") + REFERENCES "correspondent" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION; + +; +ALTER TABLE "bug" ADD CONSTRAINT "bug_fk_severity" FOREIGN KEY ("severity") + REFERENCES "severity" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION; + +; +ALTER TABLE "bug" ADD CONSTRAINT "bug_fk_submitter" FOREIGN KEY ("submitter") + REFERENCES "correspondent" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION; + +; +ALTER TABLE "message_correspondent" ADD CONSTRAINT "message_correspondent_fk_correspondent" FOREIGN KEY ("correspondent") + REFERENCES "correspondent" ("id") ON DELETE CASCADE ON UPDATE CASCADE; + +; +ALTER TABLE "message_correspondent" ADD CONSTRAINT "message_correspondent_fk_message" FOREIGN KEY ("message") + REFERENCES "message" ("id") ON DELETE CASCADE ON UPDATE CASCADE; + +; +ALTER TABLE "bug_blocks" ADD CONSTRAINT "bug_blocks_fk_blocks" FOREIGN KEY ("blocks") + REFERENCES "bug" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION; + +; +ALTER TABLE "bug_blocks" ADD CONSTRAINT "bug_blocks_fk_bug" FOREIGN KEY ("bug") + REFERENCES "bug" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION; + +; +ALTER TABLE "bug_merged" ADD CONSTRAINT "bug_merged_fk_bug" FOREIGN KEY ("bug") + REFERENCES "bug" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION; + +; +ALTER TABLE "bug_merged" ADD CONSTRAINT "bug_merged_fk_merged" FOREIGN KEY ("merged") + REFERENCES "bug" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION; + +; +ALTER TABLE "src_ver" ADD CONSTRAINT "src_ver_fk_based_on" FOREIGN KEY ("based_on") + REFERENCES "src_ver" ("id") ON DELETE CASCADE ON UPDATE CASCADE; + +; +ALTER TABLE "src_ver" ADD CONSTRAINT "src_ver_fk_maintainer" FOREIGN KEY ("maintainer") + REFERENCES "maintainer" ("id") ON DELETE SET NULL ON UPDATE CASCADE; + +; +ALTER TABLE "src_ver" ADD CONSTRAINT "src_ver_fk_src_pkg" FOREIGN KEY ("src_pkg") + REFERENCES "src_pkg" ("id") ON DELETE CASCADE ON UPDATE CASCADE; + +; +ALTER TABLE "bug_affects_binpackage" ADD CONSTRAINT "bug_affects_binpackage_fk_bin_pkg" FOREIGN KEY ("bin_pkg") + REFERENCES "bin_pkg" ("id") ON DELETE CASCADE ON UPDATE CASCADE; + +; +ALTER TABLE "bug_affects_binpackage" ADD CONSTRAINT "bug_affects_binpackage_fk_bug" FOREIGN KEY ("bug") + REFERENCES "bug" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION; + +; +ALTER TABLE "bug_affects_srcpackage" ADD CONSTRAINT "bug_affects_srcpackage_fk_bug" FOREIGN KEY ("bug") + REFERENCES "bug" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION; + +; +ALTER TABLE "bug_affects_srcpackage" ADD CONSTRAINT "bug_affects_srcpackage_fk_src_pkg" FOREIGN KEY ("src_pkg") + REFERENCES "src_pkg" ("id") ON DELETE CASCADE ON UPDATE CASCADE; + +; +ALTER TABLE "bug_binpackage" ADD CONSTRAINT "bug_binpackage_fk_bin_pkg" FOREIGN KEY ("bin_pkg") + REFERENCES "bin_pkg" ("id") ON DELETE CASCADE ON UPDATE CASCADE; + +; +ALTER TABLE "bug_binpackage" ADD CONSTRAINT "bug_binpackage_fk_bug" FOREIGN KEY ("bug") + REFERENCES "bug" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION; + +; +ALTER TABLE "bug_message" ADD CONSTRAINT "bug_message_fk_bug" FOREIGN KEY ("bug") + REFERENCES "bug" ("id") ON DELETE CASCADE ON UPDATE CASCADE; + +; +ALTER TABLE "bug_message" ADD CONSTRAINT "bug_message_fk_message" FOREIGN KEY ("message") + REFERENCES "message" ("id") ON DELETE CASCADE ON UPDATE CASCADE; + +; +ALTER TABLE "bug_srcpackage" ADD CONSTRAINT "bug_srcpackage_fk_bug" FOREIGN KEY ("bug") + REFERENCES "bug" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION; + +; +ALTER TABLE "bug_srcpackage" ADD CONSTRAINT "bug_srcpackage_fk_src_pkg" FOREIGN KEY ("src_pkg") + REFERENCES "src_pkg" ("id") ON DELETE CASCADE ON UPDATE CASCADE; + +; +ALTER TABLE "bug_tag" ADD CONSTRAINT "bug_tag_fk_bug" FOREIGN KEY ("bug") + REFERENCES "bug" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION; + +; +ALTER TABLE "bug_tag" ADD CONSTRAINT "bug_tag_fk_tag" FOREIGN KEY ("tag") + REFERENCES "tag" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION; + +; +ALTER TABLE "bug_user_tag" ADD CONSTRAINT "bug_user_tag_fk_bug" FOREIGN KEY ("bug") + REFERENCES "bug" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION; + +; +ALTER TABLE "bug_user_tag" ADD CONSTRAINT "bug_user_tag_fk_user_tag" FOREIGN KEY ("user_tag") + REFERENCES "user_tag" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION; + +; +ALTER TABLE "bug_status_cache" ADD CONSTRAINT "bug_status_cache_fk_arch" FOREIGN KEY ("arch") + REFERENCES "arch" ("id") ON DELETE CASCADE ON UPDATE CASCADE; + +; +ALTER TABLE "bug_status_cache" ADD CONSTRAINT "bug_status_cache_fk_bug" FOREIGN KEY ("bug") + REFERENCES "bug" ("id") ON DELETE CASCADE ON UPDATE CASCADE; + +; +ALTER TABLE "bug_status_cache" ADD CONSTRAINT "bug_status_cache_fk_suite" FOREIGN KEY ("suite") + REFERENCES "suite" ("id") ON DELETE CASCADE ON UPDATE CASCADE; + +; +ALTER TABLE "src_associations" ADD CONSTRAINT "src_associations_fk_source" FOREIGN KEY ("source") + REFERENCES "src_ver" ("id") ON DELETE CASCADE ON UPDATE CASCADE; + +; +ALTER TABLE "src_associations" ADD CONSTRAINT "src_associations_fk_suite" FOREIGN KEY ("suite") + REFERENCES "suite" ("id") ON DELETE CASCADE ON UPDATE CASCADE; + +; +ALTER TABLE "bin_ver" ADD CONSTRAINT "bin_ver_fk_arch" FOREIGN KEY ("arch") + REFERENCES "arch" ("id") ON DELETE CASCADE ON UPDATE CASCADE; + +; +ALTER TABLE "bin_ver" ADD CONSTRAINT "bin_ver_fk_bin_pkg" FOREIGN KEY ("bin_pkg") + REFERENCES "bin_pkg" ("id") ON DELETE CASCADE ON UPDATE CASCADE; + +; +ALTER TABLE "bin_ver" ADD CONSTRAINT "bin_ver_fk_src_ver" FOREIGN KEY ("src_ver") + REFERENCES "src_ver" ("id") ON DELETE CASCADE ON UPDATE CASCADE; + +; +ALTER TABLE "bug_ver" ADD CONSTRAINT "bug_ver_fk_bug" FOREIGN KEY ("bug") + REFERENCES "bug" ("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +; +ALTER TABLE "bug_ver" ADD CONSTRAINT "bug_ver_fk_src_pkg" FOREIGN KEY ("src_pkg") + REFERENCES "src_pkg" ("id") ON DELETE SET NULL ON UPDATE CASCADE; + +; +ALTER TABLE "bug_ver" ADD CONSTRAINT "bug_ver_fk_src_ver" FOREIGN KEY ("src_ver") + REFERENCES "src_ver" ("id") ON DELETE SET NULL ON UPDATE CASCADE; + +; +ALTER TABLE "bin_associations" ADD CONSTRAINT "bin_associations_fk_bin" FOREIGN KEY ("bin") + REFERENCES "bin_ver" ("id") ON DELETE CASCADE ON UPDATE CASCADE; + +; +ALTER TABLE "bin_associations" ADD CONSTRAINT "bin_associations_fk_suite" FOREIGN KEY ("suite") + REFERENCES "suite" ("id") ON DELETE CASCADE ON UPDATE CASCADE; + +; diff --git a/sql/PostgreSQL/deploy/6/001-auto.sql b/sql/PostgreSQL/deploy/6/001-auto.sql new file mode 100644 index 0000000..a28dc2a --- /dev/null +++ b/sql/PostgreSQL/deploy/6/001-auto.sql @@ -0,0 +1,700 @@ +-- +-- Created by SQL::Translator::Producer::PostgreSQL +-- Created on Fri Apr 14 20:22:11 2017 +-- +; +-- +-- Table: arch +-- +CREATE TABLE "arch" ( + "id" serial NOT NULL, + "arch" text NOT NULL, + PRIMARY KEY ("id"), + CONSTRAINT "arch_arch_key" UNIQUE ("arch") +); + +; +-- +-- Table: bin_pkg +-- +CREATE TABLE "bin_pkg" ( + "id" serial NOT NULL, + "pkg" text NOT NULL, + PRIMARY KEY ("id"), + CONSTRAINT "bin_pkg_pkg_key" UNIQUE ("pkg") +); + +; +-- +-- Table: column_comments +-- +CREATE TABLE "column_comments" ( + "table_name" text NOT NULL, + "column_name" text NOT NULL, + "comment_text" text NOT NULL, + CONSTRAINT "column_comments_table_name_column_name_idx" UNIQUE ("table_name", "column_name") +); + +; +-- +-- Table: correspondent +-- +CREATE TABLE "correspondent" ( + "id" serial NOT NULL, + "addr" text NOT NULL, + PRIMARY KEY ("id"), + CONSTRAINT "correspondent_addr_idx" UNIQUE ("addr") +); + +; +-- +-- Table: message +-- +CREATE TABLE "message" ( + "id" serial NOT NULL, + "msgid" text DEFAULT '' NOT NULL, + "from_complete" text DEFAULT '' NOT NULL, + "to_complete" text DEFAULT '' NOT NULL, + "subject" text DEFAULT '' NOT NULL, + "sent_date" timestamp with time zone, + "refs" text DEFAULT '' NOT NULL, + "spam_score" double precision DEFAULT '0' NOT NULL, + "is_spam" boolean DEFAULT false NOT NULL, + PRIMARY KEY ("id"), + CONSTRAINT "message_msgid_from_complete_to_complete_subject_idx" UNIQUE ("msgid", "from_complete", "to_complete", "subject") +); +CREATE INDEX "message_msgid_idx" on "message" ("msgid"); +CREATE INDEX "message_subject_idx" on "message" ("subject"); + +; +-- +-- Table: severity +-- +CREATE TABLE "severity" ( + "id" serial NOT NULL, + "severity" text NOT NULL, + "ordering" integer DEFAULT 5 NOT NULL, + "strong" boolean DEFAULT false, + "obsolete" boolean DEFAULT false, + PRIMARY KEY ("id"), + CONSTRAINT "severity_severity_idx" UNIQUE ("severity") +); +CREATE INDEX "severity_ordering_idx" on "severity" ("ordering"); + +; +-- +-- Table: src_pkg +-- +CREATE TABLE "src_pkg" ( + "id" serial NOT NULL, + "pkg" text NOT NULL, + "pseduopkg" boolean DEFAULT false NOT NULL, + "alias_of" integer, + "creation" timestamp with time zone DEFAULT current_timestamp NOT NULL, + "disabled" timestamp with time zone DEFAULT 'infinity' NOT NULL, + "last_modified" timestamp with time zone DEFAULT current_timestamp NOT NULL, + "obsolete" boolean DEFAULT false NOT NULL, + PRIMARY KEY ("id"), + CONSTRAINT "src_pkg_pkg_disabled" UNIQUE ("pkg", "disabled") +); +CREATE INDEX "src_pkg_idx_alias_of" on "src_pkg" ("alias_of"); +CREATE INDEX "src_pkg_pkg" on "src_pkg" ("pkg"); + +; +-- +-- Table: suite +-- +CREATE TABLE "suite" ( + "id" serial NOT NULL, + "codename" text NOT NULL, + "suite_name" text, + "version" text, + "active" boolean DEFAULT true, + PRIMARY KEY ("id"), + CONSTRAINT "suite_idx_codename" UNIQUE ("codename"), + CONSTRAINT "suite_idx_version" UNIQUE ("version"), + CONSTRAINT "suite_suite_name_key" UNIQUE ("suite_name") +); + +; +-- +-- Table: table_comments +-- +CREATE TABLE "table_comments" ( + "table_name" text NOT NULL, + "comment_text" text NOT NULL, + CONSTRAINT "table_comments_table_name_idx" UNIQUE ("table_name"), + CONSTRAINT "table_comments_table_name_key" UNIQUE ("table_name") +); + +; +-- +-- Table: tag +-- +CREATE TABLE "tag" ( + "id" serial NOT NULL, + "tag" text NOT NULL, + "obsolete" boolean DEFAULT false, + PRIMARY KEY ("id"), + CONSTRAINT "tag_tag_key" UNIQUE ("tag") +); + +; +-- +-- Table: correspondent_full_name +-- +CREATE TABLE "correspondent_full_name" ( + "correspondent" integer NOT NULL, + "full_name" text NOT NULL, + "last_seen" timestamp DEFAULT current_timestamp NOT NULL, + CONSTRAINT "correspondent_full_name_correspondent_full_name_idx" UNIQUE ("correspondent", "full_name") +); +CREATE INDEX "correspondent_full_name_idx_correspondent" on "correspondent_full_name" ("correspondent"); +CREATE INDEX "message_correspondent_idxcorrespondent" on "correspondent_full_name" ("correspondent"); +CREATE INDEX "message_correspondent_idxmessage" on "correspondent_full_name" ("message"); + +; +-- +-- Table: maintainer +-- +CREATE TABLE "maintainer" ( + "id" serial NOT NULL, + "name" text NOT NULL, + "correspondent" integer NOT NULL, + "created" timestamp with time zone DEFAULT current_timestamp NOT NULL, + "modified" timestamp with time zone DEFAULT current_timestamp NOT NULL, + PRIMARY KEY ("id"), + CONSTRAINT "maintainer_name_idx" UNIQUE ("name") +); +CREATE INDEX "maintainer_idx_correspondent" on "maintainer" ("correspondent"); + +; +-- +-- Table: message_refs +-- +CREATE TABLE "message_refs" ( + "message" integer NOT NULL, + "refs" integer NOT NULL, + "inferred" boolean DEFAULT false, + "primary_ref" boolean DEFAULT false, + CONSTRAINT "message_refs_message_refs_idx" UNIQUE ("message", "refs") +); +CREATE INDEX "message_refs_idx_message" on "message_refs" ("message"); +CREATE INDEX "message_refs_idx_refs" on "message_refs" ("refs"); + +; +-- +-- Table: user_tag +-- +CREATE TABLE "user_tag" ( + "id" serial NOT NULL, + "tag" text NOT NULL, + "correspondent" integer NOT NULL, + PRIMARY KEY ("id"), + CONSTRAINT "user_tag_tag_correspondent" UNIQUE ("tag", "correspondent") +); +CREATE INDEX "user_tag_idx_correspondent" on "user_tag" ("correspondent"); +CREATE INDEX "user_tag_correspondent" on "user_tag" ("correspondent"); + +; +-- +-- Table: bug +-- +CREATE TABLE "bug" ( + "id" integer NOT NULL, + "creation" timestamp with time zone DEFAULT current_timestamp NOT NULL, + "log_modified" timestamp with time zone DEFAULT current_timestamp NOT NULL, + "last_modified" timestamp with time zone DEFAULT current_timestamp NOT NULL, + "archived" boolean DEFAULT false NOT NULL, + "unarchived" timestamp with time zone, + "forwarded" text DEFAULT '' NOT NULL, + "summary" text DEFAULT '' NOT NULL, + "outlook" text DEFAULT '' NOT NULL, + "subject" text NOT NULL, + "severity" integer NOT NULL, + "done" integer, + "done_full" text DEFAULT '' NOT NULL, + "owner" integer, + "owner_full" text DEFAULT '' NOT NULL, + "submitter" integer, + "submitter_full" text DEFAULT '' NOT NULL, + "unknown_packages" text DEFAULT '' NOT NULL, + PRIMARY KEY ("id") +); +CREATE INDEX "bug_idx_done" on "bug" ("done"); +CREATE INDEX "bug_idx_owner" on "bug" ("owner"); +CREATE INDEX "bug_idx_severity" on "bug" ("severity"); +CREATE INDEX "bug_idx_submitter" on "bug" ("submitter"); +CREATE INDEX "bug_idxowner" on "bug" ("owner"); +CREATE INDEX "bug_idxsubmitter" on "bug" ("submitter"); +CREATE INDEX "bug_idxdone" on "bug" ("done"); +CREATE INDEX "bug_idxforwarded" on "bug" ("forwarded"); +CREATE INDEX "bug_idxlast_modified" on "bug" ("last_modified"); +CREATE INDEX "bug_idxseverity" on "bug" ("severity"); +CREATE INDEX "bug_idxcreation" on "bug" ("creation"); +CREATE INDEX "bug_idxlog_modified" on "bug" ("log_modified"); + +; +-- +-- Table: message_correspondent +-- +CREATE TABLE "message_correspondent" ( + "message" integer NOT NULL, + "correspondent" integer NOT NULL, + "correspondent_type" character varying DEFAULT 'to' NOT NULL, + CONSTRAINT "message_correspondent_message_correspondent_correspondent_t_idx" UNIQUE ("message", "correspondent", "correspondent_type") +); +CREATE INDEX "message_correspondent_idx_correspondent" on "message_correspondent" ("correspondent"); +CREATE INDEX "message_correspondent_idx_message" on "message_correspondent" ("message"); + +; +-- +-- Table: bug_blocks +-- +CREATE TABLE "bug_blocks" ( + "id" serial NOT NULL, + "bug" integer NOT NULL, + "blocks" integer NOT NULL, + PRIMARY KEY ("id"), + CONSTRAINT "bug_blocks_bug_id_blocks_idx" UNIQUE ("bug", "blocks") +); +CREATE INDEX "bug_blocks_idx_blocks" on "bug_blocks" ("blocks"); +CREATE INDEX "bug_blocks_idx_bug" on "bug_blocks" ("bug"); +CREATE INDEX "bug_blocks_bug_idx" on "bug_blocks" ("bug"); +CREATE INDEX "bug_blocks_blocks_idx" on "bug_blocks" ("blocks"); + +; +-- +-- Table: bug_merged +-- +CREATE TABLE "bug_merged" ( + "id" serial NOT NULL, + "bug" integer NOT NULL, + "merged" integer NOT NULL, + PRIMARY KEY ("id"), + CONSTRAINT "bug_merged_bug_id_merged_idx" UNIQUE ("bug", "merged") +); +CREATE INDEX "bug_merged_idx_bug" on "bug_merged" ("bug"); +CREATE INDEX "bug_merged_idx_merged" on "bug_merged" ("merged"); +CREATE INDEX "bug_merged_bug_idx" on "bug_merged" ("bug"); +CREATE INDEX "bug_merged_merged_idx" on "bug_merged" ("merged"); + +; +-- +-- Table: src_ver +-- +CREATE TABLE "src_ver" ( + "id" serial NOT NULL, + "src_pkg" integer NOT NULL, + "ver" debversion NOT NULL, + "maintainer" integer, + "upload_date" timestamp with time zone DEFAULT current_timestamp NOT NULL, + "based_on" integer, + PRIMARY KEY ("id"), + CONSTRAINT "src_ver_src_pkg_id_ver" UNIQUE ("src_pkg", "ver") +); +CREATE INDEX "src_ver_idx_based_on" on "src_ver" ("based_on"); +CREATE INDEX "src_ver_idx_maintainer" on "src_ver" ("maintainer"); +CREATE INDEX "src_ver_idx_src_pkg" on "src_ver" ("src_pkg"); + +; +-- +-- Table: bug_affects_binpackage +-- +CREATE TABLE "bug_affects_binpackage" ( + "bug" integer NOT NULL, + "bin_pkg" integer NOT NULL, + CONSTRAINT "bug_affects_binpackage_id_pkg" UNIQUE ("bug", "bin_pkg") +); +CREATE INDEX "bug_affects_binpackage_idx_bin_pkg" on "bug_affects_binpackage" ("bin_pkg"); +CREATE INDEX "bug_affects_binpackage_idx_bug" on "bug_affects_binpackage" ("bug"); + +; +-- +-- Table: bug_affects_srcpackage +-- +CREATE TABLE "bug_affects_srcpackage" ( + "bug" integer NOT NULL, + "src_pkg" integer NOT NULL, + CONSTRAINT "bug_affects_srcpackage_id_pkg" UNIQUE ("bug", "src_pkg") +); +CREATE INDEX "bug_affects_srcpackage_idx_bug" on "bug_affects_srcpackage" ("bug"); +CREATE INDEX "bug_affects_srcpackage_idx_src_pkg" on "bug_affects_srcpackage" ("src_pkg"); + +; +-- +-- Table: bug_binpackage +-- +CREATE TABLE "bug_binpackage" ( + "bug" integer NOT NULL, + "bin_pkg" integer NOT NULL, + CONSTRAINT "bug_binpackage_id_pkg" UNIQUE ("bug", "bin_pkg") +); +CREATE INDEX "bug_binpackage_idx_bin_pkg" on "bug_binpackage" ("bin_pkg"); +CREATE INDEX "bug_binpackage_idx_bug" on "bug_binpackage" ("bug"); +CREATE INDEX "bug_binpackage_bin_pkg_idx" on "bug_binpackage" ("bin_pkg"); + +; +-- +-- Table: bug_message +-- +CREATE TABLE "bug_message" ( + "bug" integer NOT NULL, + "message" integer NOT NULL, + "message_number" integer NOT NULL, + "bug_log_offset" integer, + "offset_valid" timestamp with time zone, + CONSTRAINT "bug_message_bug_message_idx" UNIQUE ("bug", "message") +); +CREATE INDEX "bug_message_idx_bug" on "bug_message" ("bug"); +CREATE INDEX "bug_message_idx_message" on "bug_message" ("message"); +CREATE INDEX "bug_message_idx_bug_message_number" on "bug_message" ("bug", "message_number"); + +; +-- +-- Table: bug_srcpackage +-- +CREATE TABLE "bug_srcpackage" ( + "bug" integer NOT NULL, + "src_pkg" integer NOT NULL, + CONSTRAINT "bug_srcpackage_id_pkg" UNIQUE ("bug", "src_pkg") +); +CREATE INDEX "bug_srcpackage_idx_bug" on "bug_srcpackage" ("bug"); +CREATE INDEX "bug_srcpackage_idx_src_pkg" on "bug_srcpackage" ("src_pkg"); +CREATE INDEX "bug_srcpackage_src_pkg_idx" on "bug_srcpackage" ("src_pkg"); + +; +-- +-- Table: bug_tag +-- +CREATE TABLE "bug_tag" ( + "bug" integer NOT NULL, + "tag" integer NOT NULL, + CONSTRAINT "bug_tag_bug_tag" UNIQUE ("bug", "tag") +); +CREATE INDEX "bug_tag_idx_bug" on "bug_tag" ("bug"); +CREATE INDEX "bug_tag_idx_tag" on "bug_tag" ("tag"); +CREATE INDEX "bug_tag_tag" on "bug_tag" ("tag"); + +; +-- +-- Table: bug_user_tag +-- +CREATE TABLE "bug_user_tag" ( + "bug" integer NOT NULL, + "user_tag" integer NOT NULL, + CONSTRAINT "bug_user_tag_bug_tag" UNIQUE ("bug", "user_tag") +); +CREATE INDEX "bug_user_tag_idx_bug" on "bug_user_tag" ("bug"); +CREATE INDEX "bug_user_tag_idx_user_tag" on "bug_user_tag" ("user_tag"); +CREATE INDEX "bug_user_tag_tag" on "bug_user_tag" ("user_tag"); + +; +-- +-- Table: bug_status_cache +-- +CREATE TABLE "bug_status_cache" ( + "bug" integer NOT NULL, + "suite" integer, + "arch" integer, + "status" character varying NOT NULL, + "modified" timestamp with time zone DEFAULT current_timestamp NOT NULL, + "asof" timestamp with time zone DEFAULT current_timestamp NOT NULL, + CONSTRAINT "bug_status_cache_bug_suite_arch_idx" UNIQUE ("bug", "suite", "arch") +); +CREATE INDEX "bug_status_cache_idx_arch" on "bug_status_cache" ("arch"); +CREATE INDEX "bug_status_cache_idx_bug" on "bug_status_cache" ("bug"); +CREATE INDEX "bug_status_cache_idx_suite" on "bug_status_cache" ("suite"); + +; +-- +-- Table: src_associations +-- +CREATE TABLE "src_associations" ( + "id" serial NOT NULL, + "suite" integer NOT NULL, + "source" integer NOT NULL, + "created" timestamp with time zone DEFAULT current_timestamp NOT NULL, + "modified" timestamp with time zone DEFAULT current_timestamp NOT NULL, + PRIMARY KEY ("id"), + CONSTRAINT "src_associations_source_suite" UNIQUE ("source", "suite") +); +CREATE INDEX "src_associations_idx_source" on "src_associations" ("source"); +CREATE INDEX "src_associations_idx_suite" on "src_associations" ("suite"); + +; +-- +-- Table: bin_ver +-- +CREATE TABLE "bin_ver" ( + "id" serial NOT NULL, + "bin_pkg" integer NOT NULL, + "src_ver" integer NOT NULL, + "arch" integer NOT NULL, + "ver" debversion NOT NULL, + PRIMARY KEY ("id"), + CONSTRAINT "bin_ver_bin_pkg_id_arch_idx" UNIQUE ("bin_pkg", "arch", "ver") +); +CREATE INDEX "bin_ver_idx_arch" on "bin_ver" ("arch"); +CREATE INDEX "bin_ver_idx_bin_pkg" on "bin_ver" ("bin_pkg"); +CREATE INDEX "bin_ver_idx_src_ver" on "bin_ver" ("src_ver"); +CREATE INDEX "bin_ver_ver_id_idx" on "bin_ver" ("ver"); +CREATE INDEX "bin_ver_bin_pkg_id_idx" on "bin_ver" ("bin_pkg"); +CREATE INDEX "bin_ver_src_ver_id_idx" on "bin_ver" ("src_ver"); +CREATE INDEX "bin_ver_src_ver_id_arch_idx" on "bin_ver" ("src_ver", "arch"); + +; +-- +-- Table: bug_ver +-- +CREATE TABLE "bug_ver" ( + "id" serial NOT NULL, + "bug" integer NOT NULL, + "ver_string" text, + "src_pkg" integer, + "src_ver" integer, + "found" boolean DEFAULT true NOT NULL, + "creation" timestamp with time zone DEFAULT current_timestamp NOT NULL, + "last_modified" timestamp with time zone DEFAULT current_timestamp NOT NULL, + PRIMARY KEY ("id"), + CONSTRAINT "bug_ver_bug_ver_string_found_idx" UNIQUE ("bug", "ver_string", "found") +); +CREATE INDEX "bug_ver_idx_bug" on "bug_ver" ("bug"); +CREATE INDEX "bug_ver_idx_src_pkg" on "bug_ver" ("src_pkg"); +CREATE INDEX "bug_ver_idx_src_ver" on "bug_ver" ("src_ver"); +CREATE INDEX "bug_ver_src_pkg_id_idx" on "bug_ver" ("src_pkg"); +CREATE INDEX "bug_ver_src_ver_id_idx" on "bug_ver" ("src_ver"); +CREATE INDEX "bug_ver_src_pkg_id_src_ver_id_idx" on "bug_ver" ("src_pkg", "src_ver"); + +; +-- +-- Table: bin_associations +-- +CREATE TABLE "bin_associations" ( + "id" serial NOT NULL, + "suite" integer NOT NULL, + "bin" integer NOT NULL, + "created" timestamp with time zone DEFAULT current_timestamp NOT NULL, + "modified" timestamp with time zone DEFAULT current_timestamp NOT NULL, + PRIMARY KEY ("id"), + CONSTRAINT "bin_associations_bin_suite" UNIQUE ("bin", "suite") +); +CREATE INDEX "bin_associations_idx_bin" on "bin_associations" ("bin"); +CREATE INDEX "bin_associations_idx_suite" on "bin_associations" ("suite"); + +; +-- +-- View: "binary_versions" +-- +CREATE VIEW "binary_versions" ( "src_pkg", "src_ver", "bin_pkg", "arch", "bin_ver", "src_ver_based_on", "src_pkg_based_on" ) AS + 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, +svb.ver AS src_ver_based_on, spb.pkg AS src_pkg_based_on +FROM bin_ver b JOIN arch a ON b.arch = a.id + JOIN bin_pkg bp ON b.bin_pkg = bp.id + JOIN src_ver sv ON b.src_ver = sv.id + JOIN src_pkg sp ON sv.src_pkg = sp.id + LEFT OUTER JOIN src_ver svb ON sv.based_on = svb.id + LEFT OUTER JOIN src_pkg spb ON spb.id = svb.src_pkg; + +; + +; +-- +-- View: "bug_package" +-- +CREATE VIEW "bug_package" ( "bug", "pkg_id", "pkg_type", "package" ) AS + SELECT b.bug,b.bin_pkg,'binary',bp.pkg FROM bug_binpackage b JOIN bin_pkg bp ON bp.id=b.bin_pkg UNION + SELECT s.bug,s.src_pkg,'source',sp.pkg FROM bug_srcpackage s JOIN src_pkg sp ON sp.id=s.src_pkg; + +; + +; +-- +-- Foreign Key Definitions +-- + +; +ALTER TABLE "src_pkg" ADD CONSTRAINT "src_pkg_fk_alias_of" FOREIGN KEY ("alias_of") + REFERENCES "src_pkg" ("id") ON DELETE CASCADE ON UPDATE CASCADE; + +; +ALTER TABLE "correspondent_full_name" ADD CONSTRAINT "correspondent_full_name_fk_correspondent" FOREIGN KEY ("correspondent") + REFERENCES "correspondent" ("id") ON DELETE CASCADE ON UPDATE CASCADE; + +; +ALTER TABLE "maintainer" ADD CONSTRAINT "maintainer_fk_correspondent" FOREIGN KEY ("correspondent") + REFERENCES "correspondent" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION; + +; +ALTER TABLE "message_refs" ADD CONSTRAINT "message_refs_fk_message" FOREIGN KEY ("message") + REFERENCES "message" ("id") ON DELETE CASCADE ON UPDATE CASCADE; + +; +ALTER TABLE "message_refs" ADD CONSTRAINT "message_refs_fk_refs" FOREIGN KEY ("refs") + REFERENCES "message" ("id") ON DELETE CASCADE ON UPDATE CASCADE; + +; +ALTER TABLE "user_tag" ADD CONSTRAINT "user_tag_fk_correspondent" FOREIGN KEY ("correspondent") + REFERENCES "correspondent" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION; + +; +ALTER TABLE "bug" ADD CONSTRAINT "bug_fk_done" FOREIGN KEY ("done") + REFERENCES "correspondent" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION; + +; +ALTER TABLE "bug" ADD CONSTRAINT "bug_fk_owner" FOREIGN KEY ("owner") + REFERENCES "correspondent" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION; + +; +ALTER TABLE "bug" ADD CONSTRAINT "bug_fk_severity" FOREIGN KEY ("severity") + REFERENCES "severity" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION; + +; +ALTER TABLE "bug" ADD CONSTRAINT "bug_fk_submitter" FOREIGN KEY ("submitter") + REFERENCES "correspondent" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION; + +; +ALTER TABLE "message_correspondent" ADD CONSTRAINT "message_correspondent_fk_correspondent" FOREIGN KEY ("correspondent") + REFERENCES "correspondent" ("id") ON DELETE CASCADE ON UPDATE CASCADE; + +; +ALTER TABLE "message_correspondent" ADD CONSTRAINT "message_correspondent_fk_message" FOREIGN KEY ("message") + REFERENCES "message" ("id") ON DELETE CASCADE ON UPDATE CASCADE; + +; +ALTER TABLE "bug_blocks" ADD CONSTRAINT "bug_blocks_fk_blocks" FOREIGN KEY ("blocks") + REFERENCES "bug" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION; + +; +ALTER TABLE "bug_blocks" ADD CONSTRAINT "bug_blocks_fk_bug" FOREIGN KEY ("bug") + REFERENCES "bug" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION; + +; +ALTER TABLE "bug_merged" ADD CONSTRAINT "bug_merged_fk_bug" FOREIGN KEY ("bug") + REFERENCES "bug" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION; + +; +ALTER TABLE "bug_merged" ADD CONSTRAINT "bug_merged_fk_merged" FOREIGN KEY ("merged") + REFERENCES "bug" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION; + +; +ALTER TABLE "src_ver" ADD CONSTRAINT "src_ver_fk_based_on" FOREIGN KEY ("based_on") + REFERENCES "src_ver" ("id") ON DELETE CASCADE ON UPDATE CASCADE; + +; +ALTER TABLE "src_ver" ADD CONSTRAINT "src_ver_fk_maintainer" FOREIGN KEY ("maintainer") + REFERENCES "maintainer" ("id") ON DELETE SET NULL ON UPDATE CASCADE; + +; +ALTER TABLE "src_ver" ADD CONSTRAINT "src_ver_fk_src_pkg" FOREIGN KEY ("src_pkg") + REFERENCES "src_pkg" ("id") ON DELETE CASCADE ON UPDATE CASCADE; + +; +ALTER TABLE "bug_affects_binpackage" ADD CONSTRAINT "bug_affects_binpackage_fk_bin_pkg" FOREIGN KEY ("bin_pkg") + REFERENCES "bin_pkg" ("id") ON DELETE CASCADE ON UPDATE CASCADE; + +; +ALTER TABLE "bug_affects_binpackage" ADD CONSTRAINT "bug_affects_binpackage_fk_bug" FOREIGN KEY ("bug") + REFERENCES "bug" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION; + +; +ALTER TABLE "bug_affects_srcpackage" ADD CONSTRAINT "bug_affects_srcpackage_fk_bug" FOREIGN KEY ("bug") + REFERENCES "bug" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION; + +; +ALTER TABLE "bug_affects_srcpackage" ADD CONSTRAINT "bug_affects_srcpackage_fk_src_pkg" FOREIGN KEY ("src_pkg") + REFERENCES "src_pkg" ("id") ON DELETE CASCADE ON UPDATE CASCADE; + +; +ALTER TABLE "bug_binpackage" ADD CONSTRAINT "bug_binpackage_fk_bin_pkg" FOREIGN KEY ("bin_pkg") + REFERENCES "bin_pkg" ("id") ON DELETE CASCADE ON UPDATE CASCADE; + +; +ALTER TABLE "bug_binpackage" ADD CONSTRAINT "bug_binpackage_fk_bug" FOREIGN KEY ("bug") + REFERENCES "bug" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION; + +; +ALTER TABLE "bug_message" ADD CONSTRAINT "bug_message_fk_bug" FOREIGN KEY ("bug") + REFERENCES "bug" ("id") ON DELETE CASCADE ON UPDATE CASCADE; + +; +ALTER TABLE "bug_message" ADD CONSTRAINT "bug_message_fk_message" FOREIGN KEY ("message") + REFERENCES "message" ("id") ON DELETE CASCADE ON UPDATE CASCADE; + +; +ALTER TABLE "bug_srcpackage" ADD CONSTRAINT "bug_srcpackage_fk_bug" FOREIGN KEY ("bug") + REFERENCES "bug" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION; + +; +ALTER TABLE "bug_srcpackage" ADD CONSTRAINT "bug_srcpackage_fk_src_pkg" FOREIGN KEY ("src_pkg") + REFERENCES "src_pkg" ("id") ON DELETE CASCADE ON UPDATE CASCADE; + +; +ALTER TABLE "bug_tag" ADD CONSTRAINT "bug_tag_fk_bug" FOREIGN KEY ("bug") + REFERENCES "bug" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION; + +; +ALTER TABLE "bug_tag" ADD CONSTRAINT "bug_tag_fk_tag" FOREIGN KEY ("tag") + REFERENCES "tag" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION; + +; +ALTER TABLE "bug_user_tag" ADD CONSTRAINT "bug_user_tag_fk_bug" FOREIGN KEY ("bug") + REFERENCES "bug" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION; + +; +ALTER TABLE "bug_user_tag" ADD CONSTRAINT "bug_user_tag_fk_user_tag" FOREIGN KEY ("user_tag") + REFERENCES "user_tag" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION; + +; +ALTER TABLE "bug_status_cache" ADD CONSTRAINT "bug_status_cache_fk_arch" FOREIGN KEY ("arch") + REFERENCES "arch" ("id") ON DELETE CASCADE ON UPDATE CASCADE; + +; +ALTER TABLE "bug_status_cache" ADD CONSTRAINT "bug_status_cache_fk_bug" FOREIGN KEY ("bug") + REFERENCES "bug" ("id") ON DELETE CASCADE ON UPDATE CASCADE; + +; +ALTER TABLE "bug_status_cache" ADD CONSTRAINT "bug_status_cache_fk_suite" FOREIGN KEY ("suite") + REFERENCES "suite" ("id") ON DELETE CASCADE ON UPDATE CASCADE; + +; +ALTER TABLE "src_associations" ADD CONSTRAINT "src_associations_fk_source" FOREIGN KEY ("source") + REFERENCES "src_ver" ("id") ON DELETE CASCADE ON UPDATE CASCADE; + +; +ALTER TABLE "src_associations" ADD CONSTRAINT "src_associations_fk_suite" FOREIGN KEY ("suite") + REFERENCES "suite" ("id") ON DELETE CASCADE ON UPDATE CASCADE; + +; +ALTER TABLE "bin_ver" ADD CONSTRAINT "bin_ver_fk_arch" FOREIGN KEY ("arch") + REFERENCES "arch" ("id") ON DELETE CASCADE ON UPDATE CASCADE; + +; +ALTER TABLE "bin_ver" ADD CONSTRAINT "bin_ver_fk_bin_pkg" FOREIGN KEY ("bin_pkg") + REFERENCES "bin_pkg" ("id") ON DELETE CASCADE ON UPDATE CASCADE; + +; +ALTER TABLE "bin_ver" ADD CONSTRAINT "bin_ver_fk_src_ver" FOREIGN KEY ("src_ver") + REFERENCES "src_ver" ("id") ON DELETE CASCADE ON UPDATE CASCADE; + +; +ALTER TABLE "bug_ver" ADD CONSTRAINT "bug_ver_fk_bug" FOREIGN KEY ("bug") + REFERENCES "bug" ("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +; +ALTER TABLE "bug_ver" ADD CONSTRAINT "bug_ver_fk_src_pkg" FOREIGN KEY ("src_pkg") + REFERENCES "src_pkg" ("id") ON DELETE SET NULL ON UPDATE CASCADE; + +; +ALTER TABLE "bug_ver" ADD CONSTRAINT "bug_ver_fk_src_ver" FOREIGN KEY ("src_ver") + REFERENCES "src_ver" ("id") ON DELETE SET NULL ON UPDATE CASCADE; + +; +ALTER TABLE "bin_associations" ADD CONSTRAINT "bin_associations_fk_bin" FOREIGN KEY ("bin") + REFERENCES "bin_ver" ("id") ON DELETE CASCADE ON UPDATE CASCADE; + +; +ALTER TABLE "bin_associations" ADD CONSTRAINT "bin_associations_fk_suite" FOREIGN KEY ("suite") + REFERENCES "suite" ("id") ON DELETE CASCADE ON UPDATE CASCADE; + +; diff --git a/sql/PostgreSQL/upgrade/5-6/001-auto.sql b/sql/PostgreSQL/upgrade/5-6/001-auto.sql new file mode 100644 index 0000000..bf02e7b --- /dev/null +++ b/sql/PostgreSQL/upgrade/5-6/001-auto.sql @@ -0,0 +1,48 @@ +-- Convert schema 'sql/_source/deploy/5/001-auto.yml' to 'sql/_source/deploy/6/001-auto.yml':; + +; +BEGIN; + +; +CREATE INDEX bin_ver_ver_id_idx on bin_ver (ver); + +; +CREATE INDEX bin_ver_src_ver_id_arch_idx on bin_ver (src_ver, arch); + +; +CREATE INDEX bug_idxforwarded on bug (forwarded); + +; +CREATE INDEX bug_idxlast_modified on bug (last_modified); + +; +CREATE INDEX bug_idxcreation on bug (creation); + +; +CREATE INDEX bug_idxlog_modified on bug (log_modified); + +; +CREATE INDEX bug_message_idx_bug_message_number on bug_message (bug, message_number); + +; +CREATE INDEX bug_ver_src_pkg_id_src_ver_id_idx on bug_ver (src_pkg, src_ver); + +; +CREATE INDEX message_correspondent_idxmessage on correspondent_full_name (message); + +; +CREATE INDEX message_msgid_idx on message (msgid); + +; +CREATE INDEX message_subject_idx on message (subject); + +; +CREATE INDEX severity_ordering_idx on severity (ordering); + +; +CREATE INDEX src_pkg_pkg on src_pkg (pkg); + +; + +COMMIT; + diff --git a/sql/_source/deploy/5/001-auto.yml b/sql/_source/deploy/5/001-auto.yml new file mode 100644 index 0000000..ebf57cf --- /dev/null +++ b/sql/_source/deploy/5/001-auto.yml @@ -0,0 +1,3179 @@ +--- +schema: + procedures: {} + tables: + arch: + constraints: + - deferrable: 1 + expression: '' + fields: + - id + match_type: '' + name: '' + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: PRIMARY KEY + - deferrable: 1 + expression: '' + fields: + - arch + match_type: '' + name: arch_arch_key + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + fields: + arch: + data_type: text + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: arch + order: 2 + size: + - 0 + id: + data_type: integer + default_value: ~ + is_auto_increment: 1 + is_nullable: 0 + is_primary_key: 1 + is_unique: 0 + name: id + order: 1 + size: + - 0 + indices: [] + name: arch + options: [] + order: 1 + bin_associations: + constraints: + - deferrable: 1 + expression: '' + fields: + - id + match_type: '' + name: '' + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: PRIMARY KEY + - deferrable: 1 + expression: '' + fields: + - bin + - suite + match_type: '' + name: bin_associations_bin_suite + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + - deferrable: 0 + expression: '' + fields: + - bin + match_type: '' + name: bin_associations_fk_bin + on_delete: CASCADE + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: bin_ver + type: FOREIGN KEY + - deferrable: 0 + expression: '' + fields: + - suite + match_type: '' + name: bin_associations_fk_suite + on_delete: CASCADE + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: suite + type: FOREIGN KEY + fields: + bin: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: bin + order: 3 + size: + - 0 + created: + data_type: timestamp with time zone + default_value: !!perl/ref + =: current_timestamp + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: created + order: 4 + size: + - 0 + id: + data_type: integer + default_value: ~ + is_auto_increment: 1 + is_nullable: 0 + is_primary_key: 1 + is_unique: 0 + name: id + order: 1 + size: + - 0 + modified: + data_type: timestamp with time zone + default_value: !!perl/ref + =: current_timestamp + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: modified + order: 5 + size: + - 0 + suite: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: suite + order: 2 + size: + - 0 + indices: + - fields: + - bin + name: bin_associations_idx_bin + options: [] + type: NORMAL + - fields: + - suite + name: bin_associations_idx_suite + options: [] + type: NORMAL + name: bin_associations + options: [] + order: 31 + bin_pkg: + constraints: + - deferrable: 1 + expression: '' + fields: + - id + match_type: '' + name: '' + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: PRIMARY KEY + - deferrable: 1 + expression: '' + fields: + - pkg + match_type: '' + name: bin_pkg_pkg_key + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + fields: + id: + data_type: integer + default_value: ~ + is_auto_increment: 1 + is_nullable: 0 + is_primary_key: 1 + is_unique: 0 + name: id + order: 1 + size: + - 0 + pkg: + data_type: text + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: pkg + order: 2 + size: + - 0 + indices: [] + name: bin_pkg + options: [] + order: 2 + bin_ver: + constraints: + - deferrable: 1 + expression: '' + fields: + - id + match_type: '' + name: '' + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: PRIMARY KEY + - deferrable: 1 + expression: '' + fields: + - bin_pkg + - arch + - ver + match_type: '' + name: bin_ver_bin_pkg_id_arch_idx + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + - deferrable: 0 + expression: '' + fields: + - arch + match_type: '' + name: bin_ver_fk_arch + on_delete: CASCADE + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: arch + type: FOREIGN KEY + - deferrable: 0 + expression: '' + fields: + - bin_pkg + match_type: '' + name: bin_ver_fk_bin_pkg + on_delete: CASCADE + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: bin_pkg + type: FOREIGN KEY + - deferrable: 0 + expression: '' + fields: + - src_ver + match_type: '' + name: bin_ver_fk_src_ver + on_delete: CASCADE + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: src_ver + type: FOREIGN KEY + fields: + arch: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: arch + order: 4 + size: + - 0 + bin_pkg: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: bin_pkg + order: 2 + size: + - 0 + id: + data_type: integer + default_value: ~ + is_auto_increment: 1 + is_nullable: 0 + is_primary_key: 1 + is_unique: 0 + name: id + order: 1 + size: + - 0 + src_ver: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: src_ver + order: 3 + size: + - 0 + ver: + data_type: debversion + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: ver + order: 5 + size: + - 0 + indices: + - fields: + - arch + name: bin_ver_idx_arch + options: [] + type: NORMAL + - fields: + - bin_pkg + name: bin_ver_idx_bin_pkg + options: [] + type: NORMAL + - fields: + - src_ver + name: bin_ver_idx_src_ver + options: [] + type: NORMAL + name: bin_ver + options: [] + order: 29 + bug: + constraints: + - deferrable: 1 + expression: '' + fields: + - id + match_type: '' + name: '' + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: PRIMARY KEY + - deferrable: 0 + expression: '' + fields: + - done + match_type: '' + name: bug_fk_done + on_delete: NO ACTION + on_update: NO ACTION + options: [] + reference_fields: + - id + reference_table: correspondent + type: FOREIGN KEY + - deferrable: 0 + expression: '' + fields: + - owner + match_type: '' + name: bug_fk_owner + on_delete: NO ACTION + on_update: NO ACTION + options: [] + reference_fields: + - id + reference_table: correspondent + type: FOREIGN KEY + - deferrable: 0 + expression: '' + fields: + - severity + match_type: '' + name: bug_fk_severity + on_delete: NO ACTION + on_update: NO ACTION + options: [] + reference_fields: + - id + reference_table: severity + type: FOREIGN KEY + - deferrable: 0 + expression: '' + fields: + - submitter + match_type: '' + name: bug_fk_submitter + on_delete: NO ACTION + on_update: NO ACTION + options: [] + reference_fields: + - id + reference_table: correspondent + type: FOREIGN KEY + fields: + archived: + data_type: boolean + default_value: !!perl/ref + =: false + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: archived + order: 5 + size: + - 0 + creation: + data_type: timestamp with time zone + default_value: !!perl/ref + =: current_timestamp + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: creation + order: 2 + size: + - 0 + done: + data_type: integer + default_value: ~ + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: done + order: 12 + size: + - 0 + done_full: + data_type: text + default_value: '' + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: done_full + order: 13 + size: + - 0 + forwarded: + data_type: text + default_value: '' + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: forwarded + order: 7 + size: + - 0 + id: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 1 + is_unique: 0 + name: id + order: 1 + size: + - 0 + last_modified: + data_type: timestamp with time zone + default_value: !!perl/ref + =: current_timestamp + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: last_modified + order: 4 + size: + - 0 + log_modified: + data_type: timestamp with time zone + default_value: !!perl/ref + =: current_timestamp + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: log_modified + order: 3 + size: + - 0 + outlook: + data_type: text + default_value: '' + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: outlook + order: 9 + size: + - 0 + owner: + data_type: integer + default_value: ~ + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: owner + order: 14 + size: + - 0 + owner_full: + data_type: text + default_value: '' + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: owner_full + order: 15 + size: + - 0 + severity: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: severity + order: 11 + size: + - 0 + subject: + data_type: text + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: subject + order: 10 + size: + - 0 + submitter: + data_type: integer + default_value: ~ + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: submitter + order: 16 + size: + - 0 + submitter_full: + data_type: text + default_value: '' + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: submitter_full + order: 17 + size: + - 0 + summary: + data_type: text + default_value: '' + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: summary + order: 8 + size: + - 0 + unarchived: + data_type: timestamp with time zone + default_value: ~ + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: unarchived + order: 6 + size: + - 0 + unknown_packages: + data_type: text + default_value: '' + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: unknown_packages + order: 18 + size: + - 0 + indices: + - fields: + - done + name: bug_idx_done + options: [] + type: NORMAL + - fields: + - owner + name: bug_idx_owner + options: [] + type: NORMAL + - fields: + - severity + name: bug_idx_severity + options: [] + type: NORMAL + - fields: + - submitter + name: bug_idx_submitter + options: [] + type: NORMAL + name: bug + options: [] + order: 15 + bug_affects_binpackage: + constraints: + - deferrable: 1 + expression: '' + fields: + - bug + - bin_pkg + match_type: '' + name: bug_affects_binpackage_id_pkg + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + - deferrable: 0 + expression: '' + fields: + - bin_pkg + match_type: '' + name: bug_affects_binpackage_fk_bin_pkg + on_delete: CASCADE + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: bin_pkg + type: FOREIGN KEY + - deferrable: 0 + expression: '' + fields: + - bug + match_type: '' + name: bug_affects_binpackage_fk_bug + on_delete: NO ACTION + on_update: NO ACTION + options: [] + reference_fields: + - id + reference_table: bug + type: FOREIGN KEY + fields: + bin_pkg: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: bin_pkg + order: 2 + size: + - 0 + bug: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: bug + order: 1 + size: + - 0 + indices: + - fields: + - bin_pkg + name: bug_affects_binpackage_idx_bin_pkg + options: [] + type: NORMAL + - fields: + - bug + name: bug_affects_binpackage_idx_bug + options: [] + type: NORMAL + name: bug_affects_binpackage + options: [] + order: 20 + bug_affects_srcpackage: + constraints: + - deferrable: 1 + expression: '' + fields: + - bug + - src_pkg + match_type: '' + name: bug_affects_srcpackage_id_pkg + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + - deferrable: 0 + expression: '' + fields: + - bug + match_type: '' + name: bug_affects_srcpackage_fk_bug + on_delete: NO ACTION + on_update: NO ACTION + options: [] + reference_fields: + - id + reference_table: bug + type: FOREIGN KEY + - deferrable: 0 + expression: '' + fields: + - src_pkg + match_type: '' + name: bug_affects_srcpackage_fk_src_pkg + on_delete: CASCADE + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: src_pkg + type: FOREIGN KEY + fields: + bug: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: bug + order: 1 + size: + - 0 + src_pkg: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: src_pkg + order: 2 + size: + - 0 + indices: + - fields: + - bug + name: bug_affects_srcpackage_idx_bug + options: [] + type: NORMAL + - fields: + - src_pkg + name: bug_affects_srcpackage_idx_src_pkg + options: [] + type: NORMAL + name: bug_affects_srcpackage + options: [] + order: 21 + bug_binpackage: + constraints: + - deferrable: 1 + expression: '' + fields: + - bug + - bin_pkg + match_type: '' + name: bug_binpackage_id_pkg + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + - deferrable: 0 + expression: '' + fields: + - bin_pkg + match_type: '' + name: bug_binpackage_fk_bin_pkg + on_delete: CASCADE + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: bin_pkg + type: FOREIGN KEY + - deferrable: 0 + expression: '' + fields: + - bug + match_type: '' + name: bug_binpackage_fk_bug + on_delete: NO ACTION + on_update: NO ACTION + options: [] + reference_fields: + - id + reference_table: bug + type: FOREIGN KEY + fields: + bin_pkg: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: bin_pkg + order: 2 + size: + - 0 + bug: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: bug + order: 1 + size: + - 0 + indices: + - fields: + - bin_pkg + name: bug_binpackage_idx_bin_pkg + options: [] + type: NORMAL + - fields: + - bug + name: bug_binpackage_idx_bug + options: [] + type: NORMAL + name: bug_binpackage + options: [] + order: 22 + bug_blocks: + constraints: + - deferrable: 1 + expression: '' + fields: + - id + match_type: '' + name: '' + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: PRIMARY KEY + - deferrable: 1 + expression: '' + fields: + - bug + - blocks + match_type: '' + name: bug_blocks_bug_id_blocks_idx + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + - deferrable: 0 + expression: '' + fields: + - blocks + match_type: '' + name: bug_blocks_fk_blocks + on_delete: NO ACTION + on_update: NO ACTION + options: [] + reference_fields: + - id + reference_table: bug + type: FOREIGN KEY + - deferrable: 0 + expression: '' + fields: + - bug + match_type: '' + name: bug_blocks_fk_bug + on_delete: NO ACTION + on_update: NO ACTION + options: [] + reference_fields: + - id + reference_table: bug + type: FOREIGN KEY + fields: + blocks: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: blocks + order: 3 + size: + - 0 + bug: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: bug + order: 2 + size: + - 0 + id: + data_type: integer + default_value: ~ + is_auto_increment: 1 + is_nullable: 0 + is_primary_key: 1 + is_unique: 0 + name: id + order: 1 + size: + - 0 + indices: + - fields: + - blocks + name: bug_blocks_idx_blocks + options: [] + type: NORMAL + - fields: + - bug + name: bug_blocks_idx_bug + options: [] + type: NORMAL + name: bug_blocks + options: [] + order: 17 + bug_merged: + constraints: + - deferrable: 1 + expression: '' + fields: + - id + match_type: '' + name: '' + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: PRIMARY KEY + - deferrable: 1 + expression: '' + fields: + - bug + - merged + match_type: '' + name: bug_merged_bug_id_merged_idx + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + - deferrable: 0 + expression: '' + fields: + - bug + match_type: '' + name: bug_merged_fk_bug + on_delete: NO ACTION + on_update: NO ACTION + options: [] + reference_fields: + - id + reference_table: bug + type: FOREIGN KEY + - deferrable: 0 + expression: '' + fields: + - merged + match_type: '' + name: bug_merged_fk_merged + on_delete: NO ACTION + on_update: NO ACTION + options: [] + reference_fields: + - id + reference_table: bug + type: FOREIGN KEY + fields: + bug: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: bug + order: 2 + size: + - 0 + id: + data_type: integer + default_value: ~ + is_auto_increment: 1 + is_nullable: 0 + is_primary_key: 1 + is_unique: 0 + name: id + order: 1 + size: + - 0 + merged: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: merged + order: 3 + size: + - 0 + indices: + - fields: + - bug + name: bug_merged_idx_bug + options: [] + type: NORMAL + - fields: + - merged + name: bug_merged_idx_merged + options: [] + type: NORMAL + name: bug_merged + options: [] + order: 18 + bug_message: + constraints: + - deferrable: 1 + expression: '' + fields: + - bug + - message + match_type: '' + name: bug_message_bug_message_idx + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + - deferrable: 0 + expression: '' + fields: + - bug + match_type: '' + name: bug_message_fk_bug + on_delete: CASCADE + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: bug + type: FOREIGN KEY + - deferrable: 0 + expression: '' + fields: + - message + match_type: '' + name: bug_message_fk_message + on_delete: CASCADE + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: message + type: FOREIGN KEY + fields: + bug: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: bug + order: 1 + size: + - 0 + bug_log_offset: + data_type: integer + default_value: ~ + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: bug_log_offset + order: 4 + size: + - 0 + message: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: message + order: 2 + size: + - 0 + message_number: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: message_number + order: 3 + size: + - 0 + offset_valid: + data_type: timestamp with time zone + default_value: ~ + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: offset_valid + order: 5 + size: + - 0 + indices: + - fields: + - bug + name: bug_message_idx_bug + options: [] + type: NORMAL + - fields: + - message + name: bug_message_idx_message + options: [] + type: NORMAL + name: bug_message + options: [] + order: 23 + bug_srcpackage: + constraints: + - deferrable: 1 + expression: '' + fields: + - bug + - src_pkg + match_type: '' + name: bug_srcpackage_id_pkg + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + - deferrable: 0 + expression: '' + fields: + - bug + match_type: '' + name: bug_srcpackage_fk_bug + on_delete: NO ACTION + on_update: NO ACTION + options: [] + reference_fields: + - id + reference_table: bug + type: FOREIGN KEY + - deferrable: 0 + expression: '' + fields: + - src_pkg + match_type: '' + name: bug_srcpackage_fk_src_pkg + on_delete: CASCADE + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: src_pkg + type: FOREIGN KEY + fields: + bug: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: bug + order: 1 + size: + - 0 + src_pkg: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: src_pkg + order: 2 + size: + - 0 + indices: + - fields: + - bug + name: bug_srcpackage_idx_bug + options: [] + type: NORMAL + - fields: + - src_pkg + name: bug_srcpackage_idx_src_pkg + options: [] + type: NORMAL + name: bug_srcpackage + options: [] + order: 24 + bug_status_cache: + constraints: + - deferrable: 1 + expression: '' + fields: + - bug + - suite + - arch + match_type: '' + name: bug_status_cache_bug_suite_arch_idx + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + - deferrable: 0 + expression: '' + fields: + - arch + match_type: '' + name: bug_status_cache_fk_arch + on_delete: CASCADE + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: arch + type: FOREIGN KEY + - deferrable: 0 + expression: '' + fields: + - bug + match_type: '' + name: bug_status_cache_fk_bug + on_delete: CASCADE + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: bug + type: FOREIGN KEY + - deferrable: 0 + expression: '' + fields: + - suite + match_type: '' + name: bug_status_cache_fk_suite + on_delete: CASCADE + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: suite + type: FOREIGN KEY + fields: + arch: + data_type: integer + default_value: ~ + is_nullable: 1 + is_primary_key: 0 + is_unique: 1 + name: arch + order: 3 + size: + - 0 + asof: + data_type: timestamp with time zone + default_value: !!perl/ref + =: current_timestamp + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: asof + order: 6 + size: + - 0 + bug: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: bug + order: 1 + size: + - 0 + modified: + data_type: timestamp with time zone + default_value: !!perl/ref + =: current_timestamp + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: modified + order: 5 + size: + - 0 + status: + data_type: enum + default_value: ~ + extra: + custom_type_name: bug_status_type + list: + - pending + - forwarded + - pending-fixed + - fixed + - absent + - done + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: status + order: 4 + size: + - 0 + suite: + data_type: integer + default_value: ~ + is_nullable: 1 + is_primary_key: 0 + is_unique: 1 + name: suite + order: 2 + size: + - 0 + indices: + - fields: + - arch + name: bug_status_cache_idx_arch + options: [] + type: NORMAL + - fields: + - bug + name: bug_status_cache_idx_bug + options: [] + type: NORMAL + - fields: + - suite + name: bug_status_cache_idx_suite + options: [] + type: NORMAL + name: bug_status_cache + options: [] + order: 27 + bug_tag: + constraints: + - deferrable: 1 + expression: '' + fields: + - bug + - tag + match_type: '' + name: bug_tag_bug_tag + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + - deferrable: 0 + expression: '' + fields: + - bug + match_type: '' + name: bug_tag_fk_bug + on_delete: NO ACTION + on_update: NO ACTION + options: [] + reference_fields: + - id + reference_table: bug + type: FOREIGN KEY + - deferrable: 0 + expression: '' + fields: + - tag + match_type: '' + name: bug_tag_fk_tag + on_delete: NO ACTION + on_update: NO ACTION + options: [] + reference_fields: + - id + reference_table: tag + type: FOREIGN KEY + fields: + bug: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: bug + order: 1 + size: + - 0 + tag: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: tag + order: 2 + size: + - 0 + indices: + - fields: + - bug + name: bug_tag_idx_bug + options: [] + type: NORMAL + - fields: + - tag + name: bug_tag_idx_tag + options: [] + type: NORMAL + name: bug_tag + options: [] + order: 25 + bug_user_tag: + constraints: + - deferrable: 1 + expression: '' + fields: + - bug + - user_tag + match_type: '' + name: bug_user_tag_bug_tag + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + - deferrable: 0 + expression: '' + fields: + - bug + match_type: '' + name: bug_user_tag_fk_bug + on_delete: NO ACTION + on_update: NO ACTION + options: [] + reference_fields: + - id + reference_table: bug + type: FOREIGN KEY + - deferrable: 0 + expression: '' + fields: + - user_tag + match_type: '' + name: bug_user_tag_fk_user_tag + on_delete: NO ACTION + on_update: NO ACTION + options: [] + reference_fields: + - id + reference_table: user_tag + type: FOREIGN KEY + fields: + bug: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: bug + order: 1 + size: + - 0 + user_tag: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: user_tag + order: 2 + size: + - 0 + indices: + - fields: + - bug + name: bug_user_tag_idx_bug + options: [] + type: NORMAL + - fields: + - user_tag + name: bug_user_tag_idx_user_tag + options: [] + type: NORMAL + name: bug_user_tag + options: [] + order: 26 + bug_ver: + constraints: + - deferrable: 1 + expression: '' + fields: + - id + match_type: '' + name: '' + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: PRIMARY KEY + - deferrable: 1 + expression: '' + fields: + - bug + - ver_string + - found + match_type: '' + name: bug_ver_bug_ver_string_found_idx + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + - deferrable: 0 + expression: '' + fields: + - bug + match_type: '' + name: bug_ver_fk_bug + on_delete: RESTRICT + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: bug + type: FOREIGN KEY + - deferrable: 0 + expression: '' + fields: + - src_pkg + match_type: '' + name: bug_ver_fk_src_pkg + on_delete: SET NULL + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: src_pkg + type: FOREIGN KEY + - deferrable: 0 + expression: '' + fields: + - src_ver + match_type: '' + name: bug_ver_fk_src_ver + on_delete: SET NULL + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: src_ver + type: FOREIGN KEY + fields: + bug: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: bug + order: 2 + size: + - 0 + creation: + data_type: timestamp with time zone + default_value: !!perl/ref + =: current_timestamp + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: creation + order: 7 + size: + - 0 + found: + data_type: boolean + default_value: !!perl/ref + =: true + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: found + order: 6 + size: + - 0 + id: + data_type: integer + default_value: ~ + is_auto_increment: 1 + is_nullable: 0 + is_primary_key: 1 + is_unique: 0 + name: id + order: 1 + size: + - 0 + last_modified: + data_type: timestamp with time zone + default_value: !!perl/ref + =: current_timestamp + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: last_modified + order: 8 + size: + - 0 + src_pkg: + data_type: integer + default_value: ~ + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: src_pkg + order: 4 + size: + - 0 + src_ver: + data_type: integer + default_value: ~ + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: src_ver + order: 5 + size: + - 0 + ver_string: + data_type: text + default_value: ~ + is_nullable: 1 + is_primary_key: 0 + is_unique: 1 + name: ver_string + order: 3 + size: + - 0 + indices: + - fields: + - bug + name: bug_ver_idx_bug + options: [] + type: NORMAL + - fields: + - src_pkg + name: bug_ver_idx_src_pkg + options: [] + type: NORMAL + - fields: + - src_ver + name: bug_ver_idx_src_ver + options: [] + type: NORMAL + name: bug_ver + options: [] + order: 30 + column_comments: + constraints: + - deferrable: 1 + expression: '' + fields: + - table_name + - column_name + match_type: '' + name: column_comments_table_name_column_name_idx + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + fields: + column_name: + data_type: text + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: column_name + order: 2 + size: + - 0 + comment_text: + data_type: text + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: comment_text + order: 3 + size: + - 0 + table_name: + data_type: text + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: table_name + order: 1 + size: + - 0 + indices: [] + name: column_comments + options: [] + order: 3 + correspondent: + constraints: + - deferrable: 1 + expression: '' + fields: + - id + match_type: '' + name: '' + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: PRIMARY KEY + - deferrable: 1 + expression: '' + fields: + - addr + match_type: '' + name: correspondent_addr_idx + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + fields: + addr: + data_type: text + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: addr + order: 2 + size: + - 0 + id: + data_type: integer + default_value: ~ + is_auto_increment: 1 + is_nullable: 0 + is_primary_key: 1 + is_unique: 0 + name: id + order: 1 + size: + - 0 + indices: [] + name: correspondent + options: [] + order: 4 + correspondent_full_name: + constraints: + - deferrable: 1 + expression: '' + fields: + - correspondent + - full_name + match_type: '' + name: correspondent_full_name_correspondent_full_name_idx + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + - deferrable: 0 + expression: '' + fields: + - correspondent + match_type: '' + name: correspondent_full_name_fk_correspondent + on_delete: CASCADE + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: correspondent + type: FOREIGN KEY + fields: + correspondent: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: correspondent + order: 1 + size: + - 0 + full_name: + data_type: text + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: full_name + order: 2 + size: + - 0 + last_seen: + data_type: timestamp + default_value: !!perl/ref + =: current_timestamp + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: last_seen + order: 3 + size: + - 0 + indices: + - fields: + - correspondent + name: correspondent_full_name_idx_correspondent + options: [] + type: NORMAL + name: correspondent_full_name + options: [] + order: 11 + maintainer: + constraints: + - deferrable: 1 + expression: '' + fields: + - id + match_type: '' + name: '' + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: PRIMARY KEY + - deferrable: 1 + expression: '' + fields: + - name + match_type: '' + name: maintainer_name_idx + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + - deferrable: 0 + expression: '' + fields: + - correspondent + match_type: '' + name: maintainer_fk_correspondent + on_delete: NO ACTION + on_update: NO ACTION + options: [] + reference_fields: + - id + reference_table: correspondent + type: FOREIGN KEY + fields: + correspondent: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: correspondent + order: 3 + size: + - 0 + created: + data_type: timestamp with time zone + default_value: !!perl/ref + =: current_timestamp + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: created + order: 4 + size: + - 0 + id: + data_type: integer + default_value: ~ + is_auto_increment: 1 + is_nullable: 0 + is_primary_key: 1 + is_unique: 0 + name: id + order: 1 + size: + - 0 + modified: + data_type: timestamp with time zone + default_value: !!perl/ref + =: current_timestamp + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: modified + order: 5 + size: + - 0 + name: + data_type: text + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: name + order: 2 + size: + - 0 + indices: + - fields: + - correspondent + name: maintainer_idx_correspondent + options: [] + type: NORMAL + name: maintainer + options: [] + order: 12 + message: + constraints: + - deferrable: 1 + expression: '' + fields: + - id + match_type: '' + name: '' + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: PRIMARY KEY + - deferrable: 1 + expression: '' + fields: + - msgid + - from_complete + - to_complete + - subject + match_type: '' + name: message_msgid_from_complete_to_complete_subject_idx + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + fields: + from_complete: + data_type: text + default_value: '' + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: from_complete + order: 3 + size: + - 0 + id: + data_type: integer + default_value: ~ + is_auto_increment: 1 + is_nullable: 0 + is_primary_key: 1 + is_unique: 0 + name: id + order: 1 + size: + - 0 + is_spam: + data_type: boolean + default_value: !!perl/ref + =: false + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: is_spam + order: 9 + size: + - 0 + msgid: + data_type: text + default_value: '' + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: msgid + order: 2 + size: + - 0 + refs: + data_type: text + default_value: '' + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: refs + order: 7 + size: + - 0 + sent_date: + data_type: timestamp with time zone + default_value: ~ + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: sent_date + order: 6 + size: + - 0 + spam_score: + data_type: double precision + default_value: 0 + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: spam_score + order: 8 + size: + - 0 + subject: + data_type: text + default_value: '' + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: subject + order: 5 + size: + - 0 + to_complete: + data_type: text + default_value: '' + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: to_complete + order: 4 + size: + - 0 + indices: [] + name: message + options: [] + order: 5 + message_correspondent: + constraints: + - deferrable: 1 + expression: '' + fields: + - message + - correspondent + - correspondent_type + match_type: '' + name: message_correspondent_message_correspondent_correspondent_t_idx + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + - deferrable: 0 + expression: '' + fields: + - correspondent + match_type: '' + name: message_correspondent_fk_correspondent + on_delete: CASCADE + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: correspondent + type: FOREIGN KEY + - deferrable: 0 + expression: '' + fields: + - message + match_type: '' + name: message_correspondent_fk_message + on_delete: CASCADE + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: message + type: FOREIGN KEY + fields: + correspondent: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: correspondent + order: 2 + size: + - 0 + correspondent_type: + data_type: enum + default_value: to + extra: + custom_type_name: message_correspondent_type + list: + - to + - from + - envfrom + - cc + - recv + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: correspondent_type + order: 3 + size: + - 0 + message: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: message + order: 1 + size: + - 0 + indices: + - fields: + - correspondent + name: message_correspondent_idx_correspondent + options: [] + type: NORMAL + - fields: + - message + name: message_correspondent_idx_message + options: [] + type: NORMAL + name: message_correspondent + options: [] + order: 16 + message_refs: + constraints: + - deferrable: 1 + expression: '' + fields: + - message + - refs + match_type: '' + name: message_refs_message_refs_idx + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + - deferrable: 0 + expression: '' + fields: + - message + match_type: '' + name: message_refs_fk_message + on_delete: CASCADE + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: message + type: FOREIGN KEY + - deferrable: 0 + expression: '' + fields: + - refs + match_type: '' + name: message_refs_fk_refs + on_delete: CASCADE + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: message + type: FOREIGN KEY + fields: + inferred: + data_type: boolean + default_value: !!perl/ref + =: false + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: inferred + order: 3 + size: + - 0 + message: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: message + order: 1 + size: + - 0 + primary_ref: + data_type: boolean + default_value: !!perl/ref + =: false + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: primary_ref + order: 4 + size: + - 0 + refs: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: refs + order: 2 + size: + - 0 + indices: + - fields: + - message + name: message_refs_idx_message + options: [] + type: NORMAL + - fields: + - refs + name: message_refs_idx_refs + options: [] + type: NORMAL + name: message_refs + options: [] + order: 13 + severity: + constraints: + - deferrable: 1 + expression: '' + fields: + - id + match_type: '' + name: '' + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: PRIMARY KEY + - deferrable: 1 + expression: '' + fields: + - severity + match_type: '' + name: severity_severity_idx + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + fields: + id: + data_type: integer + default_value: ~ + is_auto_increment: 1 + is_nullable: 0 + is_primary_key: 1 + is_unique: 0 + name: id + order: 1 + size: + - 0 + obsolete: + data_type: boolean + default_value: !!perl/ref + =: false + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: obsolete + order: 5 + size: + - 0 + ordering: + data_type: integer + default_value: 5 + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: ordering + order: 3 + size: + - 0 + severity: + data_type: text + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: severity + order: 2 + size: + - 0 + strong: + data_type: boolean + default_value: !!perl/ref + =: false + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: strong + order: 4 + size: + - 0 + indices: [] + name: severity + options: [] + order: 6 + src_associations: + constraints: + - deferrable: 1 + expression: '' + fields: + - id + match_type: '' + name: '' + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: PRIMARY KEY + - deferrable: 1 + expression: '' + fields: + - source + - suite + match_type: '' + name: src_associations_source_suite + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + - deferrable: 0 + expression: '' + fields: + - source + match_type: '' + name: src_associations_fk_source + on_delete: CASCADE + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: src_ver + type: FOREIGN KEY + - deferrable: 0 + expression: '' + fields: + - suite + match_type: '' + name: src_associations_fk_suite + on_delete: CASCADE + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: suite + type: FOREIGN KEY + fields: + created: + data_type: timestamp with time zone + default_value: !!perl/ref + =: current_timestamp + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: created + order: 4 + size: + - 0 + id: + data_type: integer + default_value: ~ + is_auto_increment: 1 + is_nullable: 0 + is_primary_key: 1 + is_unique: 0 + name: id + order: 1 + size: + - 0 + modified: + data_type: timestamp with time zone + default_value: !!perl/ref + =: current_timestamp + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: modified + order: 5 + size: + - 0 + source: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: source + order: 3 + size: + - 0 + suite: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: suite + order: 2 + size: + - 0 + indices: + - fields: + - source + name: src_associations_idx_source + options: [] + type: NORMAL + - fields: + - suite + name: src_associations_idx_suite + options: [] + type: NORMAL + name: src_associations + options: [] + order: 28 + src_pkg: + constraints: + - deferrable: 1 + expression: '' + fields: + - id + match_type: '' + name: '' + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: PRIMARY KEY + - deferrable: 1 + expression: '' + fields: + - pkg + - disabled + match_type: '' + name: src_pkg_pkg_disabled + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + - deferrable: 0 + expression: '' + fields: + - alias_of + match_type: '' + name: src_pkg_fk_alias_of + on_delete: CASCADE + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: src_pkg + type: FOREIGN KEY + fields: + alias_of: + data_type: integer + default_value: ~ + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: alias_of + order: 4 + size: + - 0 + creation: + data_type: timestamp with time zone + default_value: !!perl/ref + =: current_timestamp + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: creation + order: 5 + size: + - 0 + disabled: + data_type: timestamp with time zone + default_value: infinity + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: disabled + order: 6 + size: + - 0 + id: + data_type: integer + default_value: ~ + is_auto_increment: 1 + is_nullable: 0 + is_primary_key: 1 + is_unique: 0 + name: id + order: 1 + size: + - 0 + last_modified: + data_type: timestamp with time zone + default_value: !!perl/ref + =: current_timestamp + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: last_modified + order: 7 + size: + - 0 + obsolete: + data_type: boolean + default_value: !!perl/ref + =: false + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: obsolete + order: 8 + size: + - 0 + pkg: + data_type: text + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: pkg + order: 2 + size: + - 0 + pseduopkg: + data_type: boolean + default_value: !!perl/ref + =: false + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: pseduopkg + order: 3 + size: + - 0 + indices: + - fields: + - alias_of + name: src_pkg_idx_alias_of + options: [] + type: NORMAL + name: src_pkg + options: [] + order: 7 + src_ver: + constraints: + - deferrable: 1 + expression: '' + fields: + - id + match_type: '' + name: '' + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: PRIMARY KEY + - deferrable: 1 + expression: '' + fields: + - src_pkg + - ver + match_type: '' + name: src_ver_src_pkg_id_ver + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + - deferrable: 0 + expression: '' + fields: + - based_on + match_type: '' + name: src_ver_fk_based_on + on_delete: CASCADE + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: src_ver + type: FOREIGN KEY + - deferrable: 0 + expression: '' + fields: + - maintainer + match_type: '' + name: src_ver_fk_maintainer + on_delete: SET NULL + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: maintainer + type: FOREIGN KEY + - deferrable: 0 + expression: '' + fields: + - src_pkg + match_type: '' + name: src_ver_fk_src_pkg + on_delete: CASCADE + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: src_pkg + type: FOREIGN KEY + fields: + based_on: + data_type: integer + default_value: ~ + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: based_on + order: 6 + size: + - 0 + id: + data_type: integer + default_value: ~ + is_auto_increment: 1 + is_nullable: 0 + is_primary_key: 1 + is_unique: 0 + name: id + order: 1 + size: + - 0 + maintainer: + data_type: integer + default_value: ~ + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: maintainer + order: 4 + size: + - 0 + src_pkg: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: src_pkg + order: 2 + size: + - 0 + upload_date: + data_type: timestamp with time zone + default_value: !!perl/ref + =: current_timestamp + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: upload_date + order: 5 + size: + - 0 + ver: + data_type: debversion + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: ver + order: 3 + size: + - 0 + indices: + - fields: + - based_on + name: src_ver_idx_based_on + options: [] + type: NORMAL + - fields: + - maintainer + name: src_ver_idx_maintainer + options: [] + type: NORMAL + - fields: + - src_pkg + name: src_ver_idx_src_pkg + options: [] + type: NORMAL + name: src_ver + options: [] + order: 19 + suite: + constraints: + - deferrable: 1 + expression: '' + fields: + - id + match_type: '' + name: '' + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: PRIMARY KEY + - deferrable: 1 + expression: '' + fields: + - codename + match_type: '' + name: suite_idx_codename + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + - deferrable: 1 + expression: '' + fields: + - version + match_type: '' + name: suite_idx_version + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + - deferrable: 1 + expression: '' + fields: + - suite_name + match_type: '' + name: suite_suite_name_key + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + fields: + active: + data_type: boolean + default_value: !!perl/ref + =: true + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: active + order: 5 + size: + - 0 + codename: + data_type: text + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: codename + order: 2 + size: + - 0 + id: + data_type: integer + default_value: ~ + is_auto_increment: 1 + is_nullable: 0 + is_primary_key: 1 + is_unique: 0 + name: id + order: 1 + size: + - 0 + suite_name: + data_type: text + default_value: ~ + is_nullable: 1 + is_primary_key: 0 + is_unique: 1 + name: suite_name + order: 3 + size: + - 0 + version: + data_type: text + default_value: ~ + is_nullable: 1 + is_primary_key: 0 + is_unique: 1 + name: version + order: 4 + size: + - 0 + indices: [] + name: suite + options: [] + order: 8 + table_comments: + constraints: + - deferrable: 1 + expression: '' + fields: + - table_name + match_type: '' + name: table_comments_table_name_idx + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + - deferrable: 1 + expression: '' + fields: + - table_name + match_type: '' + name: table_comments_table_name_key + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + fields: + comment_text: + data_type: text + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: comment_text + order: 2 + size: + - 0 + table_name: + data_type: text + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: table_name + order: 1 + size: + - 0 + indices: [] + name: table_comments + options: [] + order: 9 + tag: + constraints: + - deferrable: 1 + expression: '' + fields: + - id + match_type: '' + name: '' + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: PRIMARY KEY + - deferrable: 1 + expression: '' + fields: + - tag + match_type: '' + name: tag_tag_key + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + fields: + id: + data_type: integer + default_value: ~ + is_auto_increment: 1 + is_nullable: 0 + is_primary_key: 1 + is_unique: 0 + name: id + order: 1 + size: + - 0 + obsolete: + data_type: boolean + default_value: !!perl/ref + =: false + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: obsolete + order: 3 + size: + - 0 + tag: + data_type: text + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: tag + order: 2 + size: + - 0 + indices: [] + name: tag + options: [] + order: 10 + user_tag: + constraints: + - deferrable: 1 + expression: '' + fields: + - id + match_type: '' + name: '' + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: PRIMARY KEY + - deferrable: 1 + expression: '' + fields: + - tag + - correspondent + match_type: '' + name: user_tag_tag_correspondent + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + - deferrable: 0 + expression: '' + fields: + - correspondent + match_type: '' + name: user_tag_fk_correspondent + on_delete: NO ACTION + on_update: NO ACTION + options: [] + reference_fields: + - id + reference_table: correspondent + type: FOREIGN KEY + fields: + correspondent: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: correspondent + order: 3 + size: + - 0 + id: + data_type: integer + default_value: ~ + is_auto_increment: 1 + is_nullable: 0 + is_primary_key: 1 + is_unique: 0 + name: id + order: 1 + size: + - 0 + tag: + data_type: text + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: tag + order: 2 + size: + - 0 + indices: + - fields: + - correspondent + name: user_tag_idx_correspondent + options: [] + type: NORMAL + name: user_tag + options: [] + order: 14 + triggers: {} + views: + binary_versions: + fields: + - src_pkg + - src_ver + - bin_pkg + - arch + - bin_ver + - src_ver_based_on + - src_pkg_based_on + name: binary_versions + order: 1 + sql: | + 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, + svb.ver AS src_ver_based_on, spb.pkg AS src_pkg_based_on + FROM bin_ver b JOIN arch a ON b.arch = a.id + JOIN bin_pkg bp ON b.bin_pkg = bp.id + JOIN src_ver sv ON b.src_ver = sv.id + JOIN src_pkg sp ON sv.src_pkg = sp.id + LEFT OUTER JOIN src_ver svb ON sv.based_on = svb.id + LEFT OUTER JOIN src_pkg spb ON spb.id = svb.src_pkg; + bug_package: + fields: + - bug + - pkg_id + - pkg_type + - package + name: bug_package + order: 2 + sql: | + SELECT b.bug,b.bin_pkg,'binary',bp.pkg FROM bug_binpackage b JOIN bin_pkg bp ON bp.id=b.bin_pkg UNION + SELECT s.bug,s.src_pkg,'source',sp.pkg FROM bug_srcpackage s JOIN src_pkg sp ON sp.id=s.src_pkg; +translator: + add_drop_table: 0 + filename: ~ + no_comments: 0 + parser_args: + sources: + - Arch + - BinAssociation + - BinPkg + - BinVer + - BinaryVersion + - Bug + - BugAffectsBinpackage + - BugAffectsSrcpackage + - BugBinpackage + - BugBlock + - BugMerged + - BugMessage + - BugPackage + - BugSrcpackage + - BugStatusCache + - BugTag + - BugUserTag + - BugVer + - ColumnComment + - Correspondent + - CorrespondentFullName + - Maintainer + - Message + - MessageCorrespondent + - MessageRef + - Severity + - SrcAssociation + - SrcPkg + - SrcVer + - Suite + - TableComment + - Tag + - UserTag + parser_type: SQL::Translator::Parser::DBIx::Class + producer_args: {} + producer_type: SQL::Translator::Producer::YAML + show_warnings: 0 + trace: 0 + version: 0.11021 diff --git a/sql/_source/deploy/6/001-auto.yml b/sql/_source/deploy/6/001-auto.yml new file mode 100644 index 0000000..20528a0 --- /dev/null +++ b/sql/_source/deploy/6/001-auto.yml @@ -0,0 +1,3337 @@ +--- +schema: + procedures: {} + tables: + arch: + constraints: + - deferrable: 1 + expression: '' + fields: + - id + match_type: '' + name: '' + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: PRIMARY KEY + - deferrable: 1 + expression: '' + fields: + - arch + match_type: '' + name: arch_arch_key + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + fields: + arch: + data_type: text + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: arch + order: 2 + size: + - 0 + id: + data_type: integer + default_value: ~ + is_auto_increment: 1 + is_nullable: 0 + is_primary_key: 1 + is_unique: 0 + name: id + order: 1 + size: + - 0 + indices: [] + name: arch + options: [] + order: 1 + bin_associations: + constraints: + - deferrable: 1 + expression: '' + fields: + - id + match_type: '' + name: '' + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: PRIMARY KEY + - deferrable: 1 + expression: '' + fields: + - bin + - suite + match_type: '' + name: bin_associations_bin_suite + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + - deferrable: 0 + expression: '' + fields: + - bin + match_type: '' + name: bin_associations_fk_bin + on_delete: CASCADE + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: bin_ver + type: FOREIGN KEY + - deferrable: 0 + expression: '' + fields: + - suite + match_type: '' + name: bin_associations_fk_suite + on_delete: CASCADE + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: suite + type: FOREIGN KEY + fields: + bin: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: bin + order: 3 + size: + - 0 + created: + data_type: timestamp with time zone + default_value: !!perl/ref + =: current_timestamp + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: created + order: 4 + size: + - 0 + id: + data_type: integer + default_value: ~ + is_auto_increment: 1 + is_nullable: 0 + is_primary_key: 1 + is_unique: 0 + name: id + order: 1 + size: + - 0 + modified: + data_type: timestamp with time zone + default_value: !!perl/ref + =: current_timestamp + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: modified + order: 5 + size: + - 0 + suite: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: suite + order: 2 + size: + - 0 + indices: + - fields: + - bin + name: bin_associations_idx_bin + options: [] + type: NORMAL + - fields: + - suite + name: bin_associations_idx_suite + options: [] + type: NORMAL + name: bin_associations + options: [] + order: 31 + bin_pkg: + constraints: + - deferrable: 1 + expression: '' + fields: + - id + match_type: '' + name: '' + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: PRIMARY KEY + - deferrable: 1 + expression: '' + fields: + - pkg + match_type: '' + name: bin_pkg_pkg_key + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + fields: + id: + data_type: integer + default_value: ~ + is_auto_increment: 1 + is_nullable: 0 + is_primary_key: 1 + is_unique: 0 + name: id + order: 1 + size: + - 0 + pkg: + data_type: text + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: pkg + order: 2 + size: + - 0 + indices: [] + name: bin_pkg + options: [] + order: 2 + bin_ver: + constraints: + - deferrable: 1 + expression: '' + fields: + - id + match_type: '' + name: '' + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: PRIMARY KEY + - deferrable: 1 + expression: '' + fields: + - bin_pkg + - arch + - ver + match_type: '' + name: bin_ver_bin_pkg_id_arch_idx + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + - deferrable: 0 + expression: '' + fields: + - arch + match_type: '' + name: bin_ver_fk_arch + on_delete: CASCADE + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: arch + type: FOREIGN KEY + - deferrable: 0 + expression: '' + fields: + - bin_pkg + match_type: '' + name: bin_ver_fk_bin_pkg + on_delete: CASCADE + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: bin_pkg + type: FOREIGN KEY + - deferrable: 0 + expression: '' + fields: + - src_ver + match_type: '' + name: bin_ver_fk_src_ver + on_delete: CASCADE + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: src_ver + type: FOREIGN KEY + fields: + arch: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: arch + order: 4 + size: + - 0 + bin_pkg: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: bin_pkg + order: 2 + size: + - 0 + id: + data_type: integer + default_value: ~ + is_auto_increment: 1 + is_nullable: 0 + is_primary_key: 1 + is_unique: 0 + name: id + order: 1 + size: + - 0 + src_ver: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: src_ver + order: 3 + size: + - 0 + ver: + data_type: debversion + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: ver + order: 5 + size: + - 0 + indices: + - fields: + - arch + name: bin_ver_idx_arch + options: [] + type: NORMAL + - fields: + - bin_pkg + name: bin_ver_idx_bin_pkg + options: [] + type: NORMAL + - fields: + - src_ver + name: bin_ver_idx_src_ver + options: [] + type: NORMAL + - fields: + - ver + name: bin_ver_ver_id_idx + options: [] + type: NORMAL + - fields: + - bin_pkg + name: bin_ver_bin_pkg_id_idx + options: [] + type: NORMAL + - fields: + - src_ver + name: bin_ver_src_ver_id_idx + options: [] + type: NORMAL + - fields: + - src_ver + - arch + name: bin_ver_src_ver_id_arch_idx + options: [] + type: NORMAL + name: bin_ver + options: [] + order: 29 + bug: + constraints: + - deferrable: 1 + expression: '' + fields: + - id + match_type: '' + name: '' + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: PRIMARY KEY + - deferrable: 0 + expression: '' + fields: + - done + match_type: '' + name: bug_fk_done + on_delete: NO ACTION + on_update: NO ACTION + options: [] + reference_fields: + - id + reference_table: correspondent + type: FOREIGN KEY + - deferrable: 0 + expression: '' + fields: + - owner + match_type: '' + name: bug_fk_owner + on_delete: NO ACTION + on_update: NO ACTION + options: [] + reference_fields: + - id + reference_table: correspondent + type: FOREIGN KEY + - deferrable: 0 + expression: '' + fields: + - severity + match_type: '' + name: bug_fk_severity + on_delete: NO ACTION + on_update: NO ACTION + options: [] + reference_fields: + - id + reference_table: severity + type: FOREIGN KEY + - deferrable: 0 + expression: '' + fields: + - submitter + match_type: '' + name: bug_fk_submitter + on_delete: NO ACTION + on_update: NO ACTION + options: [] + reference_fields: + - id + reference_table: correspondent + type: FOREIGN KEY + fields: + archived: + data_type: boolean + default_value: !!perl/ref + =: false + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: archived + order: 5 + size: + - 0 + creation: + data_type: timestamp with time zone + default_value: !!perl/ref + =: current_timestamp + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: creation + order: 2 + size: + - 0 + done: + data_type: integer + default_value: ~ + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: done + order: 12 + size: + - 0 + done_full: + data_type: text + default_value: '' + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: done_full + order: 13 + size: + - 0 + forwarded: + data_type: text + default_value: '' + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: forwarded + order: 7 + size: + - 0 + id: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 1 + is_unique: 0 + name: id + order: 1 + size: + - 0 + last_modified: + data_type: timestamp with time zone + default_value: !!perl/ref + =: current_timestamp + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: last_modified + order: 4 + size: + - 0 + log_modified: + data_type: timestamp with time zone + default_value: !!perl/ref + =: current_timestamp + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: log_modified + order: 3 + size: + - 0 + outlook: + data_type: text + default_value: '' + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: outlook + order: 9 + size: + - 0 + owner: + data_type: integer + default_value: ~ + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: owner + order: 14 + size: + - 0 + owner_full: + data_type: text + default_value: '' + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: owner_full + order: 15 + size: + - 0 + severity: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: severity + order: 11 + size: + - 0 + subject: + data_type: text + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: subject + order: 10 + size: + - 0 + submitter: + data_type: integer + default_value: ~ + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: submitter + order: 16 + size: + - 0 + submitter_full: + data_type: text + default_value: '' + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: submitter_full + order: 17 + size: + - 0 + summary: + data_type: text + default_value: '' + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: summary + order: 8 + size: + - 0 + unarchived: + data_type: timestamp with time zone + default_value: ~ + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: unarchived + order: 6 + size: + - 0 + unknown_packages: + data_type: text + default_value: '' + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: unknown_packages + order: 18 + size: + - 0 + indices: + - fields: + - done + name: bug_idx_done + options: [] + type: NORMAL + - fields: + - owner + name: bug_idx_owner + options: [] + type: NORMAL + - fields: + - severity + name: bug_idx_severity + options: [] + type: NORMAL + - fields: + - submitter + name: bug_idx_submitter + options: [] + type: NORMAL + - fields: + - owner + name: bug_idxowner + options: [] + type: NORMAL + - fields: + - submitter + name: bug_idxsubmitter + options: [] + type: NORMAL + - fields: + - done + name: bug_idxdone + options: [] + type: NORMAL + - fields: + - forwarded + name: bug_idxforwarded + options: [] + type: NORMAL + - fields: + - last_modified + name: bug_idxlast_modified + options: [] + type: NORMAL + - fields: + - severity + name: bug_idxseverity + options: [] + type: NORMAL + - fields: + - creation + name: bug_idxcreation + options: [] + type: NORMAL + - fields: + - log_modified + name: bug_idxlog_modified + options: [] + type: NORMAL + name: bug + options: [] + order: 15 + bug_affects_binpackage: + constraints: + - deferrable: 1 + expression: '' + fields: + - bug + - bin_pkg + match_type: '' + name: bug_affects_binpackage_id_pkg + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + - deferrable: 0 + expression: '' + fields: + - bin_pkg + match_type: '' + name: bug_affects_binpackage_fk_bin_pkg + on_delete: CASCADE + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: bin_pkg + type: FOREIGN KEY + - deferrable: 0 + expression: '' + fields: + - bug + match_type: '' + name: bug_affects_binpackage_fk_bug + on_delete: NO ACTION + on_update: NO ACTION + options: [] + reference_fields: + - id + reference_table: bug + type: FOREIGN KEY + fields: + bin_pkg: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: bin_pkg + order: 2 + size: + - 0 + bug: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: bug + order: 1 + size: + - 0 + indices: + - fields: + - bin_pkg + name: bug_affects_binpackage_idx_bin_pkg + options: [] + type: NORMAL + - fields: + - bug + name: bug_affects_binpackage_idx_bug + options: [] + type: NORMAL + name: bug_affects_binpackage + options: [] + order: 20 + bug_affects_srcpackage: + constraints: + - deferrable: 1 + expression: '' + fields: + - bug + - src_pkg + match_type: '' + name: bug_affects_srcpackage_id_pkg + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + - deferrable: 0 + expression: '' + fields: + - bug + match_type: '' + name: bug_affects_srcpackage_fk_bug + on_delete: NO ACTION + on_update: NO ACTION + options: [] + reference_fields: + - id + reference_table: bug + type: FOREIGN KEY + - deferrable: 0 + expression: '' + fields: + - src_pkg + match_type: '' + name: bug_affects_srcpackage_fk_src_pkg + on_delete: CASCADE + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: src_pkg + type: FOREIGN KEY + fields: + bug: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: bug + order: 1 + size: + - 0 + src_pkg: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: src_pkg + order: 2 + size: + - 0 + indices: + - fields: + - bug + name: bug_affects_srcpackage_idx_bug + options: [] + type: NORMAL + - fields: + - src_pkg + name: bug_affects_srcpackage_idx_src_pkg + options: [] + type: NORMAL + name: bug_affects_srcpackage + options: [] + order: 21 + bug_binpackage: + constraints: + - deferrable: 1 + expression: '' + fields: + - bug + - bin_pkg + match_type: '' + name: bug_binpackage_id_pkg + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + - deferrable: 0 + expression: '' + fields: + - bin_pkg + match_type: '' + name: bug_binpackage_fk_bin_pkg + on_delete: CASCADE + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: bin_pkg + type: FOREIGN KEY + - deferrable: 0 + expression: '' + fields: + - bug + match_type: '' + name: bug_binpackage_fk_bug + on_delete: NO ACTION + on_update: NO ACTION + options: [] + reference_fields: + - id + reference_table: bug + type: FOREIGN KEY + fields: + bin_pkg: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: bin_pkg + order: 2 + size: + - 0 + bug: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: bug + order: 1 + size: + - 0 + indices: + - fields: + - bin_pkg + name: bug_binpackage_idx_bin_pkg + options: [] + type: NORMAL + - fields: + - bug + name: bug_binpackage_idx_bug + options: [] + type: NORMAL + - fields: + - bin_pkg + name: bug_binpackage_bin_pkg_idx + options: [] + type: NORMAL + name: bug_binpackage + options: [] + order: 22 + bug_blocks: + constraints: + - deferrable: 1 + expression: '' + fields: + - id + match_type: '' + name: '' + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: PRIMARY KEY + - deferrable: 1 + expression: '' + fields: + - bug + - blocks + match_type: '' + name: bug_blocks_bug_id_blocks_idx + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + - deferrable: 0 + expression: '' + fields: + - blocks + match_type: '' + name: bug_blocks_fk_blocks + on_delete: NO ACTION + on_update: NO ACTION + options: [] + reference_fields: + - id + reference_table: bug + type: FOREIGN KEY + - deferrable: 0 + expression: '' + fields: + - bug + match_type: '' + name: bug_blocks_fk_bug + on_delete: NO ACTION + on_update: NO ACTION + options: [] + reference_fields: + - id + reference_table: bug + type: FOREIGN KEY + fields: + blocks: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: blocks + order: 3 + size: + - 0 + bug: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: bug + order: 2 + size: + - 0 + id: + data_type: integer + default_value: ~ + is_auto_increment: 1 + is_nullable: 0 + is_primary_key: 1 + is_unique: 0 + name: id + order: 1 + size: + - 0 + indices: + - fields: + - blocks + name: bug_blocks_idx_blocks + options: [] + type: NORMAL + - fields: + - bug + name: bug_blocks_idx_bug + options: [] + type: NORMAL + - fields: + - bug + name: bug_blocks_bug_idx + options: [] + type: NORMAL + - fields: + - blocks + name: bug_blocks_blocks_idx + options: [] + type: NORMAL + name: bug_blocks + options: [] + order: 17 + bug_merged: + constraints: + - deferrable: 1 + expression: '' + fields: + - id + match_type: '' + name: '' + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: PRIMARY KEY + - deferrable: 1 + expression: '' + fields: + - bug + - merged + match_type: '' + name: bug_merged_bug_id_merged_idx + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + - deferrable: 0 + expression: '' + fields: + - bug + match_type: '' + name: bug_merged_fk_bug + on_delete: NO ACTION + on_update: NO ACTION + options: [] + reference_fields: + - id + reference_table: bug + type: FOREIGN KEY + - deferrable: 0 + expression: '' + fields: + - merged + match_type: '' + name: bug_merged_fk_merged + on_delete: NO ACTION + on_update: NO ACTION + options: [] + reference_fields: + - id + reference_table: bug + type: FOREIGN KEY + fields: + bug: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: bug + order: 2 + size: + - 0 + id: + data_type: integer + default_value: ~ + is_auto_increment: 1 + is_nullable: 0 + is_primary_key: 1 + is_unique: 0 + name: id + order: 1 + size: + - 0 + merged: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: merged + order: 3 + size: + - 0 + indices: + - fields: + - bug + name: bug_merged_idx_bug + options: [] + type: NORMAL + - fields: + - merged + name: bug_merged_idx_merged + options: [] + type: NORMAL + - fields: + - bug + name: bug_merged_bug_idx + options: [] + type: NORMAL + - fields: + - merged + name: bug_merged_merged_idx + options: [] + type: NORMAL + name: bug_merged + options: [] + order: 18 + bug_message: + constraints: + - deferrable: 1 + expression: '' + fields: + - bug + - message + match_type: '' + name: bug_message_bug_message_idx + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + - deferrable: 0 + expression: '' + fields: + - bug + match_type: '' + name: bug_message_fk_bug + on_delete: CASCADE + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: bug + type: FOREIGN KEY + - deferrable: 0 + expression: '' + fields: + - message + match_type: '' + name: bug_message_fk_message + on_delete: CASCADE + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: message + type: FOREIGN KEY + fields: + bug: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: bug + order: 1 + size: + - 0 + bug_log_offset: + data_type: integer + default_value: ~ + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: bug_log_offset + order: 4 + size: + - 0 + message: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: message + order: 2 + size: + - 0 + message_number: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: message_number + order: 3 + size: + - 0 + offset_valid: + data_type: timestamp with time zone + default_value: ~ + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: offset_valid + order: 5 + size: + - 0 + indices: + - fields: + - bug + name: bug_message_idx_bug + options: [] + type: NORMAL + - fields: + - message + name: bug_message_idx_message + options: [] + type: NORMAL + - fields: + - bug + - message_number + name: bug_message_idx_bug_message_number + options: [] + type: NORMAL + name: bug_message + options: [] + order: 23 + bug_srcpackage: + constraints: + - deferrable: 1 + expression: '' + fields: + - bug + - src_pkg + match_type: '' + name: bug_srcpackage_id_pkg + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + - deferrable: 0 + expression: '' + fields: + - bug + match_type: '' + name: bug_srcpackage_fk_bug + on_delete: NO ACTION + on_update: NO ACTION + options: [] + reference_fields: + - id + reference_table: bug + type: FOREIGN KEY + - deferrable: 0 + expression: '' + fields: + - src_pkg + match_type: '' + name: bug_srcpackage_fk_src_pkg + on_delete: CASCADE + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: src_pkg + type: FOREIGN KEY + fields: + bug: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: bug + order: 1 + size: + - 0 + src_pkg: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: src_pkg + order: 2 + size: + - 0 + indices: + - fields: + - bug + name: bug_srcpackage_idx_bug + options: [] + type: NORMAL + - fields: + - src_pkg + name: bug_srcpackage_idx_src_pkg + options: [] + type: NORMAL + - fields: + - src_pkg + name: bug_srcpackage_src_pkg_idx + options: [] + type: NORMAL + name: bug_srcpackage + options: [] + order: 24 + bug_status_cache: + constraints: + - deferrable: 1 + expression: '' + fields: + - bug + - suite + - arch + match_type: '' + name: bug_status_cache_bug_suite_arch_idx + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + - deferrable: 0 + expression: '' + fields: + - arch + match_type: '' + name: bug_status_cache_fk_arch + on_delete: CASCADE + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: arch + type: FOREIGN KEY + - deferrable: 0 + expression: '' + fields: + - bug + match_type: '' + name: bug_status_cache_fk_bug + on_delete: CASCADE + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: bug + type: FOREIGN KEY + - deferrable: 0 + expression: '' + fields: + - suite + match_type: '' + name: bug_status_cache_fk_suite + on_delete: CASCADE + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: suite + type: FOREIGN KEY + fields: + arch: + data_type: integer + default_value: ~ + is_nullable: 1 + is_primary_key: 0 + is_unique: 1 + name: arch + order: 3 + size: + - 0 + asof: + data_type: timestamp with time zone + default_value: !!perl/ref + =: current_timestamp + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: asof + order: 6 + size: + - 0 + bug: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: bug + order: 1 + size: + - 0 + modified: + data_type: timestamp with time zone + default_value: !!perl/ref + =: current_timestamp + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: modified + order: 5 + size: + - 0 + status: + data_type: enum + default_value: ~ + extra: + custom_type_name: bug_status_type + list: + - pending + - forwarded + - pending-fixed + - fixed + - absent + - done + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: status + order: 4 + size: + - 0 + suite: + data_type: integer + default_value: ~ + is_nullable: 1 + is_primary_key: 0 + is_unique: 1 + name: suite + order: 2 + size: + - 0 + indices: + - fields: + - arch + name: bug_status_cache_idx_arch + options: [] + type: NORMAL + - fields: + - bug + name: bug_status_cache_idx_bug + options: [] + type: NORMAL + - fields: + - suite + name: bug_status_cache_idx_suite + options: [] + type: NORMAL + name: bug_status_cache + options: [] + order: 27 + bug_tag: + constraints: + - deferrable: 1 + expression: '' + fields: + - bug + - tag + match_type: '' + name: bug_tag_bug_tag + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + - deferrable: 0 + expression: '' + fields: + - bug + match_type: '' + name: bug_tag_fk_bug + on_delete: NO ACTION + on_update: NO ACTION + options: [] + reference_fields: + - id + reference_table: bug + type: FOREIGN KEY + - deferrable: 0 + expression: '' + fields: + - tag + match_type: '' + name: bug_tag_fk_tag + on_delete: NO ACTION + on_update: NO ACTION + options: [] + reference_fields: + - id + reference_table: tag + type: FOREIGN KEY + fields: + bug: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: bug + order: 1 + size: + - 0 + tag: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: tag + order: 2 + size: + - 0 + indices: + - fields: + - bug + name: bug_tag_idx_bug + options: [] + type: NORMAL + - fields: + - tag + name: bug_tag_idx_tag + options: [] + type: NORMAL + - fields: + - tag + name: bug_tag_tag + options: [] + type: NORMAL + name: bug_tag + options: [] + order: 25 + bug_user_tag: + constraints: + - deferrable: 1 + expression: '' + fields: + - bug + - user_tag + match_type: '' + name: bug_user_tag_bug_tag + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + - deferrable: 0 + expression: '' + fields: + - bug + match_type: '' + name: bug_user_tag_fk_bug + on_delete: NO ACTION + on_update: NO ACTION + options: [] + reference_fields: + - id + reference_table: bug + type: FOREIGN KEY + - deferrable: 0 + expression: '' + fields: + - user_tag + match_type: '' + name: bug_user_tag_fk_user_tag + on_delete: NO ACTION + on_update: NO ACTION + options: [] + reference_fields: + - id + reference_table: user_tag + type: FOREIGN KEY + fields: + bug: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: bug + order: 1 + size: + - 0 + user_tag: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: user_tag + order: 2 + size: + - 0 + indices: + - fields: + - bug + name: bug_user_tag_idx_bug + options: [] + type: NORMAL + - fields: + - user_tag + name: bug_user_tag_idx_user_tag + options: [] + type: NORMAL + - fields: + - user_tag + name: bug_user_tag_tag + options: [] + type: NORMAL + name: bug_user_tag + options: [] + order: 26 + bug_ver: + constraints: + - deferrable: 1 + expression: '' + fields: + - id + match_type: '' + name: '' + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: PRIMARY KEY + - deferrable: 1 + expression: '' + fields: + - bug + - ver_string + - found + match_type: '' + name: bug_ver_bug_ver_string_found_idx + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + - deferrable: 0 + expression: '' + fields: + - bug + match_type: '' + name: bug_ver_fk_bug + on_delete: RESTRICT + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: bug + type: FOREIGN KEY + - deferrable: 0 + expression: '' + fields: + - src_pkg + match_type: '' + name: bug_ver_fk_src_pkg + on_delete: SET NULL + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: src_pkg + type: FOREIGN KEY + - deferrable: 0 + expression: '' + fields: + - src_ver + match_type: '' + name: bug_ver_fk_src_ver + on_delete: SET NULL + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: src_ver + type: FOREIGN KEY + fields: + bug: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: bug + order: 2 + size: + - 0 + creation: + data_type: timestamp with time zone + default_value: !!perl/ref + =: current_timestamp + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: creation + order: 7 + size: + - 0 + found: + data_type: boolean + default_value: !!perl/ref + =: true + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: found + order: 6 + size: + - 0 + id: + data_type: integer + default_value: ~ + is_auto_increment: 1 + is_nullable: 0 + is_primary_key: 1 + is_unique: 0 + name: id + order: 1 + size: + - 0 + last_modified: + data_type: timestamp with time zone + default_value: !!perl/ref + =: current_timestamp + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: last_modified + order: 8 + size: + - 0 + src_pkg: + data_type: integer + default_value: ~ + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: src_pkg + order: 4 + size: + - 0 + src_ver: + data_type: integer + default_value: ~ + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: src_ver + order: 5 + size: + - 0 + ver_string: + data_type: text + default_value: ~ + is_nullable: 1 + is_primary_key: 0 + is_unique: 1 + name: ver_string + order: 3 + size: + - 0 + indices: + - fields: + - bug + name: bug_ver_idx_bug + options: [] + type: NORMAL + - fields: + - src_pkg + name: bug_ver_idx_src_pkg + options: [] + type: NORMAL + - fields: + - src_ver + name: bug_ver_idx_src_ver + options: [] + type: NORMAL + - fields: + - src_pkg + name: bug_ver_src_pkg_id_idx + options: [] + type: NORMAL + - fields: + - src_ver + name: bug_ver_src_ver_id_idx + options: [] + type: NORMAL + - fields: + - src_pkg + - src_ver + name: bug_ver_src_pkg_id_src_ver_id_idx + options: [] + type: NORMAL + name: bug_ver + options: [] + order: 30 + column_comments: + constraints: + - deferrable: 1 + expression: '' + fields: + - table_name + - column_name + match_type: '' + name: column_comments_table_name_column_name_idx + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + fields: + column_name: + data_type: text + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: column_name + order: 2 + size: + - 0 + comment_text: + data_type: text + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: comment_text + order: 3 + size: + - 0 + table_name: + data_type: text + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: table_name + order: 1 + size: + - 0 + indices: [] + name: column_comments + options: [] + order: 3 + correspondent: + constraints: + - deferrable: 1 + expression: '' + fields: + - id + match_type: '' + name: '' + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: PRIMARY KEY + - deferrable: 1 + expression: '' + fields: + - addr + match_type: '' + name: correspondent_addr_idx + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + fields: + addr: + data_type: text + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: addr + order: 2 + size: + - 0 + id: + data_type: integer + default_value: ~ + is_auto_increment: 1 + is_nullable: 0 + is_primary_key: 1 + is_unique: 0 + name: id + order: 1 + size: + - 0 + indices: [] + name: correspondent + options: [] + order: 4 + correspondent_full_name: + constraints: + - deferrable: 1 + expression: '' + fields: + - correspondent + - full_name + match_type: '' + name: correspondent_full_name_correspondent_full_name_idx + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + - deferrable: 0 + expression: '' + fields: + - correspondent + match_type: '' + name: correspondent_full_name_fk_correspondent + on_delete: CASCADE + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: correspondent + type: FOREIGN KEY + fields: + correspondent: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: correspondent + order: 1 + size: + - 0 + full_name: + data_type: text + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: full_name + order: 2 + size: + - 0 + last_seen: + data_type: timestamp + default_value: !!perl/ref + =: current_timestamp + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: last_seen + order: 3 + size: + - 0 + indices: + - fields: + - correspondent + name: correspondent_full_name_idx_correspondent + options: [] + type: NORMAL + - fields: + - correspondent + name: message_correspondent_idxcorrespondent + options: [] + type: NORMAL + - fields: + - message + name: message_correspondent_idxmessage + options: [] + type: NORMAL + name: correspondent_full_name + options: [] + order: 11 + maintainer: + constraints: + - deferrable: 1 + expression: '' + fields: + - id + match_type: '' + name: '' + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: PRIMARY KEY + - deferrable: 1 + expression: '' + fields: + - name + match_type: '' + name: maintainer_name_idx + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + - deferrable: 0 + expression: '' + fields: + - correspondent + match_type: '' + name: maintainer_fk_correspondent + on_delete: NO ACTION + on_update: NO ACTION + options: [] + reference_fields: + - id + reference_table: correspondent + type: FOREIGN KEY + fields: + correspondent: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: correspondent + order: 3 + size: + - 0 + created: + data_type: timestamp with time zone + default_value: !!perl/ref + =: current_timestamp + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: created + order: 4 + size: + - 0 + id: + data_type: integer + default_value: ~ + is_auto_increment: 1 + is_nullable: 0 + is_primary_key: 1 + is_unique: 0 + name: id + order: 1 + size: + - 0 + modified: + data_type: timestamp with time zone + default_value: !!perl/ref + =: current_timestamp + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: modified + order: 5 + size: + - 0 + name: + data_type: text + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: name + order: 2 + size: + - 0 + indices: + - fields: + - correspondent + name: maintainer_idx_correspondent + options: [] + type: NORMAL + name: maintainer + options: [] + order: 12 + message: + constraints: + - deferrable: 1 + expression: '' + fields: + - id + match_type: '' + name: '' + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: PRIMARY KEY + - deferrable: 1 + expression: '' + fields: + - msgid + - from_complete + - to_complete + - subject + match_type: '' + name: message_msgid_from_complete_to_complete_subject_idx + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + fields: + from_complete: + data_type: text + default_value: '' + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: from_complete + order: 3 + size: + - 0 + id: + data_type: integer + default_value: ~ + is_auto_increment: 1 + is_nullable: 0 + is_primary_key: 1 + is_unique: 0 + name: id + order: 1 + size: + - 0 + is_spam: + data_type: boolean + default_value: !!perl/ref + =: false + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: is_spam + order: 9 + size: + - 0 + msgid: + data_type: text + default_value: '' + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: msgid + order: 2 + size: + - 0 + refs: + data_type: text + default_value: '' + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: refs + order: 7 + size: + - 0 + sent_date: + data_type: timestamp with time zone + default_value: ~ + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: sent_date + order: 6 + size: + - 0 + spam_score: + data_type: double precision + default_value: 0 + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: spam_score + order: 8 + size: + - 0 + subject: + data_type: text + default_value: '' + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: subject + order: 5 + size: + - 0 + to_complete: + data_type: text + default_value: '' + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: to_complete + order: 4 + size: + - 0 + indices: + - fields: + - msgid + name: message_msgid_idx + options: [] + type: NORMAL + - fields: + - subject + name: message_subject_idx + options: [] + type: NORMAL + name: message + options: [] + order: 5 + message_correspondent: + constraints: + - deferrable: 1 + expression: '' + fields: + - message + - correspondent + - correspondent_type + match_type: '' + name: message_correspondent_message_correspondent_correspondent_t_idx + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + - deferrable: 0 + expression: '' + fields: + - correspondent + match_type: '' + name: message_correspondent_fk_correspondent + on_delete: CASCADE + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: correspondent + type: FOREIGN KEY + - deferrable: 0 + expression: '' + fields: + - message + match_type: '' + name: message_correspondent_fk_message + on_delete: CASCADE + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: message + type: FOREIGN KEY + fields: + correspondent: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: correspondent + order: 2 + size: + - 0 + correspondent_type: + data_type: enum + default_value: to + extra: + custom_type_name: message_correspondent_type + list: + - to + - from + - envfrom + - cc + - recv + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: correspondent_type + order: 3 + size: + - 0 + message: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: message + order: 1 + size: + - 0 + indices: + - fields: + - correspondent + name: message_correspondent_idx_correspondent + options: [] + type: NORMAL + - fields: + - message + name: message_correspondent_idx_message + options: [] + type: NORMAL + name: message_correspondent + options: [] + order: 16 + message_refs: + constraints: + - deferrable: 1 + expression: '' + fields: + - message + - refs + match_type: '' + name: message_refs_message_refs_idx + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + - deferrable: 0 + expression: '' + fields: + - message + match_type: '' + name: message_refs_fk_message + on_delete: CASCADE + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: message + type: FOREIGN KEY + - deferrable: 0 + expression: '' + fields: + - refs + match_type: '' + name: message_refs_fk_refs + on_delete: CASCADE + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: message + type: FOREIGN KEY + fields: + inferred: + data_type: boolean + default_value: !!perl/ref + =: false + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: inferred + order: 3 + size: + - 0 + message: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: message + order: 1 + size: + - 0 + primary_ref: + data_type: boolean + default_value: !!perl/ref + =: false + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: primary_ref + order: 4 + size: + - 0 + refs: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: refs + order: 2 + size: + - 0 + indices: + - fields: + - message + name: message_refs_idx_message + options: [] + type: NORMAL + - fields: + - refs + name: message_refs_idx_refs + options: [] + type: NORMAL + name: message_refs + options: [] + order: 13 + severity: + constraints: + - deferrable: 1 + expression: '' + fields: + - id + match_type: '' + name: '' + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: PRIMARY KEY + - deferrable: 1 + expression: '' + fields: + - severity + match_type: '' + name: severity_severity_idx + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + fields: + id: + data_type: integer + default_value: ~ + is_auto_increment: 1 + is_nullable: 0 + is_primary_key: 1 + is_unique: 0 + name: id + order: 1 + size: + - 0 + obsolete: + data_type: boolean + default_value: !!perl/ref + =: false + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: obsolete + order: 5 + size: + - 0 + ordering: + data_type: integer + default_value: 5 + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: ordering + order: 3 + size: + - 0 + severity: + data_type: text + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: severity + order: 2 + size: + - 0 + strong: + data_type: boolean + default_value: !!perl/ref + =: false + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: strong + order: 4 + size: + - 0 + indices: + - fields: + - ordering + name: severity_ordering_idx + options: [] + type: NORMAL + name: severity + options: [] + order: 6 + src_associations: + constraints: + - deferrable: 1 + expression: '' + fields: + - id + match_type: '' + name: '' + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: PRIMARY KEY + - deferrable: 1 + expression: '' + fields: + - source + - suite + match_type: '' + name: src_associations_source_suite + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + - deferrable: 0 + expression: '' + fields: + - source + match_type: '' + name: src_associations_fk_source + on_delete: CASCADE + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: src_ver + type: FOREIGN KEY + - deferrable: 0 + expression: '' + fields: + - suite + match_type: '' + name: src_associations_fk_suite + on_delete: CASCADE + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: suite + type: FOREIGN KEY + fields: + created: + data_type: timestamp with time zone + default_value: !!perl/ref + =: current_timestamp + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: created + order: 4 + size: + - 0 + id: + data_type: integer + default_value: ~ + is_auto_increment: 1 + is_nullable: 0 + is_primary_key: 1 + is_unique: 0 + name: id + order: 1 + size: + - 0 + modified: + data_type: timestamp with time zone + default_value: !!perl/ref + =: current_timestamp + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: modified + order: 5 + size: + - 0 + source: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: source + order: 3 + size: + - 0 + suite: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: suite + order: 2 + size: + - 0 + indices: + - fields: + - source + name: src_associations_idx_source + options: [] + type: NORMAL + - fields: + - suite + name: src_associations_idx_suite + options: [] + type: NORMAL + name: src_associations + options: [] + order: 28 + src_pkg: + constraints: + - deferrable: 1 + expression: '' + fields: + - id + match_type: '' + name: '' + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: PRIMARY KEY + - deferrable: 1 + expression: '' + fields: + - pkg + - disabled + match_type: '' + name: src_pkg_pkg_disabled + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + - deferrable: 0 + expression: '' + fields: + - alias_of + match_type: '' + name: src_pkg_fk_alias_of + on_delete: CASCADE + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: src_pkg + type: FOREIGN KEY + fields: + alias_of: + data_type: integer + default_value: ~ + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: alias_of + order: 4 + size: + - 0 + creation: + data_type: timestamp with time zone + default_value: !!perl/ref + =: current_timestamp + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: creation + order: 5 + size: + - 0 + disabled: + data_type: timestamp with time zone + default_value: infinity + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: disabled + order: 6 + size: + - 0 + id: + data_type: integer + default_value: ~ + is_auto_increment: 1 + is_nullable: 0 + is_primary_key: 1 + is_unique: 0 + name: id + order: 1 + size: + - 0 + last_modified: + data_type: timestamp with time zone + default_value: !!perl/ref + =: current_timestamp + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: last_modified + order: 7 + size: + - 0 + obsolete: + data_type: boolean + default_value: !!perl/ref + =: false + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: obsolete + order: 8 + size: + - 0 + pkg: + data_type: text + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: pkg + order: 2 + size: + - 0 + pseduopkg: + data_type: boolean + default_value: !!perl/ref + =: false + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: pseduopkg + order: 3 + size: + - 0 + indices: + - fields: + - alias_of + name: src_pkg_idx_alias_of + options: [] + type: NORMAL + - fields: + - pkg + name: src_pkg_pkg + options: [] + type: NORMAL + name: src_pkg + options: [] + order: 7 + src_ver: + constraints: + - deferrable: 1 + expression: '' + fields: + - id + match_type: '' + name: '' + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: PRIMARY KEY + - deferrable: 1 + expression: '' + fields: + - src_pkg + - ver + match_type: '' + name: src_ver_src_pkg_id_ver + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + - deferrable: 0 + expression: '' + fields: + - based_on + match_type: '' + name: src_ver_fk_based_on + on_delete: CASCADE + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: src_ver + type: FOREIGN KEY + - deferrable: 0 + expression: '' + fields: + - maintainer + match_type: '' + name: src_ver_fk_maintainer + on_delete: SET NULL + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: maintainer + type: FOREIGN KEY + - deferrable: 0 + expression: '' + fields: + - src_pkg + match_type: '' + name: src_ver_fk_src_pkg + on_delete: CASCADE + on_update: CASCADE + options: [] + reference_fields: + - id + reference_table: src_pkg + type: FOREIGN KEY + fields: + based_on: + data_type: integer + default_value: ~ + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: based_on + order: 6 + size: + - 0 + id: + data_type: integer + default_value: ~ + is_auto_increment: 1 + is_nullable: 0 + is_primary_key: 1 + is_unique: 0 + name: id + order: 1 + size: + - 0 + maintainer: + data_type: integer + default_value: ~ + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: maintainer + order: 4 + size: + - 0 + src_pkg: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: src_pkg + order: 2 + size: + - 0 + upload_date: + data_type: timestamp with time zone + default_value: !!perl/ref + =: current_timestamp + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: upload_date + order: 5 + size: + - 0 + ver: + data_type: debversion + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: ver + order: 3 + size: + - 0 + indices: + - fields: + - based_on + name: src_ver_idx_based_on + options: [] + type: NORMAL + - fields: + - maintainer + name: src_ver_idx_maintainer + options: [] + type: NORMAL + - fields: + - src_pkg + name: src_ver_idx_src_pkg + options: [] + type: NORMAL + name: src_ver + options: [] + order: 19 + suite: + constraints: + - deferrable: 1 + expression: '' + fields: + - id + match_type: '' + name: '' + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: PRIMARY KEY + - deferrable: 1 + expression: '' + fields: + - codename + match_type: '' + name: suite_idx_codename + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + - deferrable: 1 + expression: '' + fields: + - version + match_type: '' + name: suite_idx_version + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + - deferrable: 1 + expression: '' + fields: + - suite_name + match_type: '' + name: suite_suite_name_key + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + fields: + active: + data_type: boolean + default_value: !!perl/ref + =: true + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: active + order: 5 + size: + - 0 + codename: + data_type: text + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: codename + order: 2 + size: + - 0 + id: + data_type: integer + default_value: ~ + is_auto_increment: 1 + is_nullable: 0 + is_primary_key: 1 + is_unique: 0 + name: id + order: 1 + size: + - 0 + suite_name: + data_type: text + default_value: ~ + is_nullable: 1 + is_primary_key: 0 + is_unique: 1 + name: suite_name + order: 3 + size: + - 0 + version: + data_type: text + default_value: ~ + is_nullable: 1 + is_primary_key: 0 + is_unique: 1 + name: version + order: 4 + size: + - 0 + indices: [] + name: suite + options: [] + order: 8 + table_comments: + constraints: + - deferrable: 1 + expression: '' + fields: + - table_name + match_type: '' + name: table_comments_table_name_idx + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + - deferrable: 1 + expression: '' + fields: + - table_name + match_type: '' + name: table_comments_table_name_key + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + fields: + comment_text: + data_type: text + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 0 + name: comment_text + order: 2 + size: + - 0 + table_name: + data_type: text + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: table_name + order: 1 + size: + - 0 + indices: [] + name: table_comments + options: [] + order: 9 + tag: + constraints: + - deferrable: 1 + expression: '' + fields: + - id + match_type: '' + name: '' + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: PRIMARY KEY + - deferrable: 1 + expression: '' + fields: + - tag + match_type: '' + name: tag_tag_key + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + fields: + id: + data_type: integer + default_value: ~ + is_auto_increment: 1 + is_nullable: 0 + is_primary_key: 1 + is_unique: 0 + name: id + order: 1 + size: + - 0 + obsolete: + data_type: boolean + default_value: !!perl/ref + =: false + is_nullable: 1 + is_primary_key: 0 + is_unique: 0 + name: obsolete + order: 3 + size: + - 0 + tag: + data_type: text + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: tag + order: 2 + size: + - 0 + indices: [] + name: tag + options: [] + order: 10 + user_tag: + constraints: + - deferrable: 1 + expression: '' + fields: + - id + match_type: '' + name: '' + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: PRIMARY KEY + - deferrable: 1 + expression: '' + fields: + - tag + - correspondent + match_type: '' + name: user_tag_tag_correspondent + on_delete: '' + on_update: '' + options: [] + reference_fields: [] + reference_table: '' + type: UNIQUE + - deferrable: 0 + expression: '' + fields: + - correspondent + match_type: '' + name: user_tag_fk_correspondent + on_delete: NO ACTION + on_update: NO ACTION + options: [] + reference_fields: + - id + reference_table: correspondent + type: FOREIGN KEY + fields: + correspondent: + data_type: integer + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: correspondent + order: 3 + size: + - 0 + id: + data_type: integer + default_value: ~ + is_auto_increment: 1 + is_nullable: 0 + is_primary_key: 1 + is_unique: 0 + name: id + order: 1 + size: + - 0 + tag: + data_type: text + default_value: ~ + is_nullable: 0 + is_primary_key: 0 + is_unique: 1 + name: tag + order: 2 + size: + - 0 + indices: + - fields: + - correspondent + name: user_tag_idx_correspondent + options: [] + type: NORMAL + - fields: + - correspondent + name: user_tag_correspondent + options: [] + type: NORMAL + name: user_tag + options: [] + order: 14 + triggers: {} + views: + binary_versions: + fields: + - src_pkg + - src_ver + - bin_pkg + - arch + - bin_ver + - src_ver_based_on + - src_pkg_based_on + name: binary_versions + order: 1 + sql: | + 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, + svb.ver AS src_ver_based_on, spb.pkg AS src_pkg_based_on + FROM bin_ver b JOIN arch a ON b.arch = a.id + JOIN bin_pkg bp ON b.bin_pkg = bp.id + JOIN src_ver sv ON b.src_ver = sv.id + JOIN src_pkg sp ON sv.src_pkg = sp.id + LEFT OUTER JOIN src_ver svb ON sv.based_on = svb.id + LEFT OUTER JOIN src_pkg spb ON spb.id = svb.src_pkg; + bug_package: + fields: + - bug + - pkg_id + - pkg_type + - package + name: bug_package + order: 2 + sql: | + SELECT b.bug,b.bin_pkg,'binary',bp.pkg FROM bug_binpackage b JOIN bin_pkg bp ON bp.id=b.bin_pkg UNION + SELECT s.bug,s.src_pkg,'source',sp.pkg FROM bug_srcpackage s JOIN src_pkg sp ON sp.id=s.src_pkg; +translator: + add_drop_table: 0 + filename: ~ + no_comments: 0 + parser_args: + sources: + - Arch + - BinAssociation + - BinPkg + - BinVer + - BinaryVersion + - Bug + - BugAffectsBinpackage + - BugAffectsSrcpackage + - BugBinpackage + - BugBlock + - BugMerged + - BugMessage + - BugPackage + - BugSrcpackage + - BugStatusCache + - BugTag + - BugUserTag + - BugVer + - ColumnComment + - Correspondent + - CorrespondentFullName + - Maintainer + - Message + - MessageCorrespondent + - MessageRef + - Severity + - SrcAssociation + - SrcPkg + - SrcVer + - Suite + - TableComment + - Tag + - UserTag + parser_type: SQL::Translator::Parser::DBIx::Class + producer_args: {} + producer_type: SQL::Translator::Producer::YAML + show_warnings: 0 + trace: 0 + version: 0.11021 -- 2.39.2