aboutsummaryrefslogtreecommitdiff
path: root/migrations/auth
diff options
context:
space:
mode:
authorFrederick Muriuki Muriithi2023-04-21 05:24:21 +0300
committerFrederick Muriuki Muriithi2023-04-21 05:24:21 +0300
commit2f6f54e215d7618ab9efa4ed17e09c633db07eab (patch)
tree1bb1eda425e276b6c4cdf9550572dd948b8d5443 /migrations/auth
parent95f067a542424b76022595a74d660a7e84158f38 (diff)
downloadgenenetwork3-2f6f54e215d7618ab9efa4ed17e09c633db07eab.tar.gz
auth: Attach linked data to specific resources.
Diffstat (limited to 'migrations/auth')
-rw-r--r--migrations/auth/20230322_02_Ll854-create-phenotype-resources-table.py6
-rw-r--r--migrations/auth/20230404_02_la33P-create-genotype-resources-table.py6
-rw-r--r--migrations/auth/20230410_02_WZqSf-create-mrna-resources-table.py4
3 files changed, 14 insertions, 2 deletions
diff --git a/migrations/auth/20230322_02_Ll854-create-phenotype-resources-table.py b/migrations/auth/20230322_02_Ll854-create-phenotype-resources-table.py
index 19ee885..7c9e986 100644
--- a/migrations/auth/20230322_02_Ll854-create-phenotype-resources-table.py
+++ b/migrations/auth/20230322_02_Ll854-create-phenotype-resources-table.py
@@ -12,10 +12,14 @@ steps = [
CREATE TABLE IF NOT EXISTS phenotype_resources
-- Link phenotype data to specific resources
(
+ group_id TEXT NOT NULL,
resource_id TEXT NOT NULL, -- A resource can have multiple data items
data_link_id TEXT NOT NULL,
- PRIMARY KEY(resource_id, data_link_id),
+ PRIMARY KEY(group_id, resource_id, data_link_id),
UNIQUE (data_link_id), -- ensure data is linked to only one resource
+ FOREIGN KEY (group_id, resource_id)
+ REFERENCES resources(group_id, resource_id)
+ ON UPDATE CASCADE ON DELETE RESTRICT,
FOREIGN KEY (data_link_id)
REFERENCES linked_phenotype_data(data_link_id)
ON UPDATE CASCADE ON DELETE RESTRICT
diff --git a/migrations/auth/20230404_02_la33P-create-genotype-resources-table.py b/migrations/auth/20230404_02_la33P-create-genotype-resources-table.py
index e967ce6..1a865e0 100644
--- a/migrations/auth/20230404_02_la33P-create-genotype-resources-table.py
+++ b/migrations/auth/20230404_02_la33P-create-genotype-resources-table.py
@@ -12,10 +12,14 @@ steps = [
CREATE TABLE IF NOT EXISTS genotype_resources
-- Link genotype data to specific resource
(
+ group_id TEXT NOT NULL,
resource_id TEXT NOT NULL, -- A resource can have multiple items
data_link_id TEXT NOT NULL,
- PRIMARY KEY (resource_id, data_link_id),
+ PRIMARY KEY (group_id, resource_id, data_link_id),
UNIQUE (data_link_id) -- ensure data is linked to single resource
+ FOREIGN KEY (group_id, resource_id)
+ REFERENCES resources(group_id, resource_id)
+ ON UPDATE CASCADE ON DELETE RESTRICT,
FOREIGN KEY (data_link_id)
REFERENCES linked_genotype_data(data_link_id)
ON UPDATE CASCADE ON DELETE RESTRICT
diff --git a/migrations/auth/20230410_02_WZqSf-create-mrna-resources-table.py b/migrations/auth/20230410_02_WZqSf-create-mrna-resources-table.py
index de348c0..2ad1056 100644
--- a/migrations/auth/20230410_02_WZqSf-create-mrna-resources-table.py
+++ b/migrations/auth/20230410_02_WZqSf-create-mrna-resources-table.py
@@ -12,10 +12,14 @@ steps = [
CREATE TABLE IF NOT EXISTS mrna_resources
-- Link mRNA data to specific resource
(
+ group_id TEXT NOT NULL,
resource_id TEXT NOT NULL, -- A resource can have multiple items
data_link_id TEXT NOT NULL,
PRIMARY KEY (resource_id, data_link_id),
UNIQUE (data_link_id) -- ensure data is linked to single resource
+ FOREIGN KEY (group_id, resource_id)
+ REFERENCES resources(group_id, resource_id)
+ ON UPDATE CASCADE ON DELETE RESTRICT,
FOREIGN KEY (data_link_id) REFERENCES linked_mrna_data(data_link_id)
ON UPDATE CASCADE ON DELETE RESTRICT
) WITHOUT ROWID