From 2567338e868891cc76eae9c930d501f2f5c160a9 Mon Sep 17 00:00:00 2001 From: alaskowski <alaskowski@ethz.ch> Date: Fri, 2 Jun 2023 11:41:09 +0200 Subject: [PATCH] SSDM-13637: Added migration-191-192.sql --- .../migration/migration-191-192.sql | 104 ++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 server-application-server/source/sql/postgresql/migration/migration-191-192.sql diff --git a/server-application-server/source/sql/postgresql/migration/migration-191-192.sql b/server-application-server/source/sql/postgresql/migration/migration-191-192.sql new file mode 100644 index 00000000000..6f74d1ec943 --- /dev/null +++ b/server-application-server/source/sql/postgresql/migration/migration-191-192.sql @@ -0,0 +1,104 @@ +-- Migration from 191 to 192 + +-- schema + +ALTER TABLE IF EXISTS SAMPLES_ALL + ADD COLUMN META_DATA jsonb; + +ALTER TABLE IF EXISTS SAMPLE_TYPES + ADD COLUMN META_DATA jsonb; + +CREATE OR REPLACE VIEW samples AS + SELECT id, perm_id, code, proj_id, proj_frozen, expe_id, expe_frozen, saty_id, registration_timestamp, + modification_timestamp, pers_id_registerer, pers_id_modifier, del_id, orig_del, space_id, space_frozen, + samp_id_part_of, cont_frozen, version, frozen, frozen_for_comp, frozen_for_children, frozen_for_parents, frozen_for_data, tsvector_document, sample_identifier + FROM samples_all + WHERE del_id IS NULL; + + +-- function + +CREATE OR REPLACE RULE sample_insert AS + ON INSERT TO samples DO INSTEAD + INSERT INTO samples_all ( + id, + frozen, + frozen_for_comp, + frozen_for_children, + frozen_for_parents, + frozen_for_data, + code, + del_id, + orig_del, + expe_id, + expe_frozen, + proj_id, + proj_frozen, + modification_timestamp, + perm_id, + pers_id_registerer, + pers_id_modifier, + registration_timestamp, + samp_id_part_of, + cont_frozen, + saty_id, + space_id, + space_frozen, + version, + meta_data + ) VALUES ( + NEW.id, + NEW.frozen, + NEW.frozen_for_comp, + NEW.frozen_for_children, + NEW.frozen_for_parents, + NEW.frozen_for_data, + NEW.code, + NEW.del_id, + NEW.orig_del, + NEW.expe_id, + NEW.expe_frozen, + NEW.proj_id, + NEW.proj_frozen, + NEW.modification_timestamp, + NEW.perm_id, + NEW.pers_id_registerer, + NEW.pers_id_modifier, + NEW.registration_timestamp, + NEW.samp_id_part_of, + NEW.cont_frozen, + NEW.saty_id, + NEW.space_id, + NEW.space_frozen, + NEW.version, + NEW.meta_data + ); + +CREATE OR REPLACE RULE sample_update AS + ON UPDATE TO samples DO INSTEAD + UPDATE samples_all + SET code = NEW.code, + frozen = NEW.frozen, + frozen_for_comp = NEW.frozen_for_comp, + frozen_for_children = NEW.frozen_for_children, + frozen_for_parents = NEW.frozen_for_parents, + frozen_for_data = NEW.frozen_for_data, + del_id = NEW.del_id, + orig_del = NEW.orig_del, + expe_id = NEW.expe_id, + expe_frozen = NEW.expe_frozen, + proj_id = NEW.proj_id, + proj_frozen = NEW.proj_frozen, + modification_timestamp = NEW.modification_timestamp, + perm_id = NEW.perm_id, + pers_id_registerer = NEW.pers_id_registerer, + pers_id_modifier = NEW.pers_id_modifier, + registration_timestamp = NEW.registration_timestamp, + samp_id_part_of = NEW.samp_id_part_of, + cont_frozen = NEW.cont_frozen, + saty_id = NEW.saty_id, + space_id = NEW.space_id, + space_frozen = NEW.space_frozen, + version = NEW.version, + meta_data = NEW.meta_data + WHERE id = NEW.id; -- GitLab