From 16ebdf41859d6f652acf319d34f40ddd3a57cc6e Mon Sep 17 00:00:00 2001
From: Cornelia Michlits <cornelia.michlits@tuwien.ac.at>
Date: Sun, 5 Dec 2021 22:23:22 +0100
Subject: [PATCH] 104 ontology - adjust MDB schema, add tables, e.g.
 mdb_concepts

---
 fda-metadata-db/initi.sh      | 25 ++++++++++++++++++++++++-
 fda-units-service/validate.py |  2 +-
 2 files changed, 25 insertions(+), 2 deletions(-)

diff --git a/fda-metadata-db/initi.sh b/fda-metadata-db/initi.sh
index f1c2b6f2f7..90c04129ce 100644
--- a/fda-metadata-db/initi.sh
+++ b/fda-metadata-db/initi.sh
@@ -161,6 +161,13 @@ psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-E
 		NO MAXVALUE
 		CACHE 1;
 
+	CREATE SEQUENCE public.mdb_concept_seq
+		START WITH 1
+		INCREMENT BY 1
+		NO MINVALUE
+		NO MAXVALUE
+		CACHE 1;
+
 	CREATE TABLE IF NOT EXISTS mdb_DATABASES (
 		ID bigint PRIMARY KEY DEFAULT nextval('mdb_databases_seq'),
 		container_id bigint REFERENCES mdb_CONTAINER(id),
@@ -293,7 +300,23 @@ psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-E
 		FOREIGN KEY (cDBID,tID, cID) REFERENCES mdb_COLUMNS(cDBID,tID,ID),
 		PRIMARY KEY(cDBID, tID, cID)
 	);
-	
+
+	CREATE TABLE IF NOT EXISTS mdb_concepts (
+		oID bigint DEFAULT nextval('mdb_concept_seq'),
+		name TEXT,
+		URI TEXT,
+		PRIMARY KEY(oID)
+	);
+
+	CREATE TABLE IF NOT EXISTS mdb_columns_concepts (
+		cDBID bigint,
+		tID bigint,
+		cID bigint,
+		oID bigint REFERENCES mdb_concepts(oID),
+		FOREIGN KEY (cDBID,tID, cID) REFERENCES mdb_COLUMNS(cDBID,tID,ID),
+		PRIMARY KEY(cDBID,tID,cID)
+	);
+
 	CREATE SEQUENCE public.mdb_view_seq
 	    START WITH 1
 	    INCREMENT BY 1
diff --git a/fda-units-service/validate.py b/fda-units-service/validate.py
index df9010f5de..7ca56a055b 100644
--- a/fda-units-service/validate.py
+++ b/fda-units-service/validate.py
@@ -23,6 +23,6 @@ def validator(value):
 
 def stringmapper(thisstring):
     if ' ' in thisstring: 
-        return thisstring.split(" ",1)[0]+thisstring.split(" ",1)[1].title().replace(" ","")
+        return thisstring.split(" ",1)[0].lower()+thisstring.split(" ",1)[1].title().replace(" ","")
     else: 
         return thisstring
\ No newline at end of file
-- 
GitLab