From 259897f08772597746d79906450ee05c7fe9ae47 Mon Sep 17 00:00:00 2001
From: Magali Ruffier <mr6@ebi.ac.uk>
Date: Mon, 15 Apr 2013 15:55:07 +0000
Subject: [PATCH] ENSCORESW-371: schema support for associated xrefs

---
 sql/patch_71_72_b.sql | 41 +++++++++++++++++++++++++++++++++++++++++
 sql/table.sql         | 18 ++++++++++++++++++
 2 files changed, 59 insertions(+)
 create mode 100644 sql/patch_71_72_b.sql

diff --git a/sql/patch_71_72_b.sql b/sql/patch_71_72_b.sql
new file mode 100644
index 0000000000..e912897f90
--- /dev/null
+++ b/sql/patch_71_72_b.sql
@@ -0,0 +1,41 @@
+# patch_71_72_b.sql
+#
+# Title: Create associated_xref table
+#
+# Description:
+#  Create table associated_xref for associating object xrefs with an associated
+#  annotation (eg Gene Ontology Annotation Extensions) given a source xref and
+#  condition.
+
+CREATE TABLE associated_xref (
+
+  associated_xref_id             INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+  object_xref_id                 INT(10) UNSIGNED DEFAULT '0' NOT NULL,
+  xref_id                        INT(10) UNSIGNED DEFAULT '0' NOT NULL,
+  source_xref_id                 INT(10) UNSIGNED DEFAULT NULL,
+  condition_type                 VARCHAR(128) DEFAULT NULL,
+  associated_group_id            INT(10) UNSIGNED DEFAULT NULL,
+  rank                           INT(10) UNSIGNED DEFAULT '0',
+
+  PRIMARY KEY (associated_xref_id),
+  KEY associated_source_idx (source_xref_id),
+  KEY associated_object_idx (object_xref_id),
+  KEY associated_idx (xref_id),
+  FOREIGN KEY associated_group_idx (associated_group_id) REFERENCES associated_group (associated_group_id),
+  UNIQUE KEY object_associated_source_type_idx (object_xref_id, xref_id, source_xref_id, condition_type, associated_group_id)
+
+) COLLATE=latin1_swedish_ci ENGINE=MyISAM;
+
+
+CREATE TABLE associated_group (
+
+  associated_group_id            INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+  description                    VARCHAR(128) DEFAULT NULL,
+
+  PRIMARY KEY (associated_group_id)
+) COLLATE=latin1_swedish_ci ENGINE=MyISAM;
+
+# Patch identifier
+INSERT INTO meta (species_id, meta_key, meta_value)
+  VALUES (NULL, 'patch', 'patch_71_72_b.sql|associated_xref');
+
diff --git a/sql/table.sql b/sql/table.sql
index fc42744563..edc119ed52 100755
--- a/sql/table.sql
+++ b/sql/table.sql
@@ -510,6 +510,8 @@ INSERT INTO meta (species_id, meta_key, meta_value) VALUES
 # NOTE: Avoid line-breaks in values.
 INSERT INTO meta (species_id, meta_key, meta_value)
   VALUES (NULL, 'patch', 'patch_71_72_a.sql|schema_version');
+INSERT INTO meta (species_id, meta_key, meta_value)
+  VALUES (NULL, 'patch', 'patch_71_72_b.sql|associated_xref');
 
 /**
 @table meta_coord
@@ -2425,6 +2427,22 @@ CREATE TABLE associated_xref (
 
 ) COLLATE=latin1_swedish_ci ENGINE=MyISAM;
 
+/**
+@table associated_group
+
+@associated_group_id
+@description
+
+*/
+
+CREATE TABLE associated_group (
+
+  associated_group_id            INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+  description                    VARCHAR(128) DEFAULT NULL,
+
+  PRIMARY KEY (associated_group_id)
+) COLLATE=latin1_swedish_ci ENGINE=MyISAM;
+
 
 /**
 @table seq_region_synonym
-- 
GitLab