]> git.donarmstrong.com Git - debbugs.git/commitdiff
add postgresql upgrade and deploy from DBICDH
authorDon Armstrong <don@donarmstrong.com>
Sun, 16 Apr 2017 03:07:20 +0000 (20:07 -0700)
committerDon Armstrong <don@donarmstrong.com>
Sun, 16 Apr 2017 03:07:20 +0000 (20:07 -0700)
sql/PostgreSQL/deploy/5/001-auto.sql [new file with mode: 0644]
sql/PostgreSQL/deploy/6/001-auto.sql [new file with mode: 0644]
sql/PostgreSQL/upgrade/5-6/001-auto.sql [new file with mode: 0644]
sql/_source/deploy/5/001-auto.yml [new file with mode: 0644]
sql/_source/deploy/6/001-auto.yml [new file with mode: 0644]

diff --git a/sql/PostgreSQL/deploy/5/001-auto.sql b/sql/PostgreSQL/deploy/5/001-auto.sql
new file mode 100644 (file)
index 0000000..3300ac9
--- /dev/null
@@ -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 (file)
index 0000000..a28dc2a
--- /dev/null
@@ -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 (file)
index 0000000..bf02e7b
--- /dev/null
@@ -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 (file)
index 0000000..ebf57cf
--- /dev/null
@@ -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 (file)
index 0000000..20528a0
--- /dev/null
@@ -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