diff options
author | Frederick Muriuki Muriithi | 2023-03-22 11:23:59 +0300 |
---|---|---|
committer | Frederick Muriuki Muriithi | 2023-03-22 11:38:48 +0300 |
commit | 3d8d24cbcd730e9540f3a4039b705eb8ab0817cb (patch) | |
tree | aad8ce17b9e45f583240f040ae71eae24f8faa16 /migrations | |
parent | 86b7a2589fb0956f6ef6303d64d53b5d5f6b9d43 (diff) | |
download | genenetwork3-3d8d24cbcd730e9540f3a4039b705eb8ab0817cb.tar.gz |
auth: migrations for linking phenotype data
Diffstat (limited to 'migrations')
-rw-r--r-- | migrations/auth/20230322_01_0dDZR-create-linked-phenotype-data-table.py | 30 | ||||
-rw-r--r-- | migrations/auth/20230322_02_Ll854-create-phenotype-resources-table.py | 22 |
2 files changed, 52 insertions, 0 deletions
diff --git a/migrations/auth/20230322_01_0dDZR-create-linked-phenotype-data-table.py b/migrations/auth/20230322_01_0dDZR-create-linked-phenotype-data-table.py new file mode 100644 index 0000000..647325f --- /dev/null +++ b/migrations/auth/20230322_01_0dDZR-create-linked-phenotype-data-table.py @@ -0,0 +1,30 @@ +""" +Create linked-phenotype-data table +""" + +from yoyo import step + +__depends__ = {'20230306_02_7GnRY-add-system-user-list-privilege-to-system-administrator-and-group-leader-roles'} + +steps = [ + step( + """ + CREATE TABLE IF NOT EXISTS linked_phenotype_data + -- Link the data in MariaDB to user groups in the auth system + ( + data_link_id TEXT NOT NULL PRIMARY KEY, -- A new ID for the auth system + group_id TEXT NOT NULL, -- The user group the data is linked to + SpeciesId TEXT NOT NULL, -- The species in MariaDB + InbredSetId TEXT NOT NULL, -- The traits group in MariaDB + PublishFreezeId TEXT NOT NULL, -- The dataset Id in MariaDB + dataset_name TEXT, -- dataset Name in MariaDB + dataset_fullname, -- dataset FullName in MariaDB + dataset_shortname, -- dataset ShortName in MariaDB + PublishXRefId TEXT NOT NULL, -- The trait's ID in MariaDB + FOREIGN KEY (group_id) + REFERENCES groups(group_id) ON UPDATE CASCADE ON DELETE RESTRICT + UNIQUE (SpeciesId, InbredSetId, PublishFreezeId, PublishXRefId) + ) WITHOUT ROWID + """, + "DROP TABLE IF EXISTS linked_phenotype_data") +] diff --git a/migrations/auth/20230322_02_Ll854-create-phenotype-resources-table.py b/migrations/auth/20230322_02_Ll854-create-phenotype-resources-table.py new file mode 100644 index 0000000..6bd8782 --- /dev/null +++ b/migrations/auth/20230322_02_Ll854-create-phenotype-resources-table.py @@ -0,0 +1,22 @@ +""" +Create phenotype_resources table +""" + +from yoyo import step + +__depends__ = {'20230322_01_0dDZR-create-linked-phenotype-data-table'} + +steps = [ + step( + """ + CREATE TABLE IF NOT EXISTS phenotype_resources + -- Link phenotype data to specific resources + ( + 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), + UNIQUE (data_link_id) -- ensure data is linked to only one resource + ) + """, + "DROP TABLE IF EXISTS phenotype_resources") +] |