Added postgres on docker compose

This commit is contained in:
George Kalampokis 2020-04-29 14:03:19 +03:00
parent 411de18e9f
commit 75fc400349
44 changed files with 213 additions and 55 deletions

View File

@ -2,7 +2,7 @@ server.port=8081
server.tomcat.max-threads = 20
server.tomcat.max-connections = 10000
logging.file=/logs/spring-boot-logging.log
spring.profiles.active=devel
spring.profiles.active=staging
eu.eudat.logic.proxy.allowed.host=https://eestore.paas2.uninett.no
####################INVITATION MAIL CONFIGURATIONS##############

View File

@ -0,0 +1,5 @@
ADMIN_USERNAME=admin
ADMIN_PASSWORD=CHANGEME
POSTGRES_DB=dmptool
POSTGRES_USER=dmptool
POSTGRES_PASSWORD=CHANGEME

7
dmp-db-scema/initdb.sh Normal file
View File

@ -0,0 +1,7 @@
psql -d dmptool -U dmptool -f main/DataManagementPlanDB.sql;
for j in $(ls updates); do
for i in $(ls updates/$j/*.sql); do
echo $i
psql --set=ADMIN_USERNAME="$ADMIN_USERNAME" --set=ADMIN_PASSWORD="$ADMIN_PASSWORD" -d dmptool -U dmptool -f $i;
done
done

View File

@ -34,7 +34,7 @@ DROP table if exists "UserAuth" cascade;
-- CREATE EXTENSION IF NOT EXISTS plpgsql WITH SCHEMA pg_catalog;
-- CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
SET search_path = public, pg_catalog;
@ -550,8 +550,8 @@ ALTER TABLE "UserDMP" OWNER TO dmptool;
REVOKE ALL ON SCHEMA public FROM PUBLIC;
REVOKE ALL ON SCHEMA public FROM postgres;
GRANT ALL ON SCHEMA public TO postgres;
-- REVOKE ALL ON SCHEMA public FROM postgres;
-- GRANT ALL ON SCHEMA public TO postgres;
GRANT ALL ON SCHEMA public TO PUBLIC;

View File

@ -1,12 +1,12 @@
INSERT INTO public."UserDMP"(
usr, dmp, role)
SELECT "Creator", "ID", 0
FROM public."DMP"
FROM public."DMP";
DELETE
FROM public."UserDMP" as us1
using public."UserDMP" as us2
where us1."id" < us2."id" AND us1."dmp" = us2."dmp"
where us1."id" < us2."id" AND us1."dmp" = us2."dmp";
@ -31,30 +31,31 @@ WITH (
TABLESPACE pg_default;
ALTER TABLE public."DMPDatasetProfile"
OWNER to dmtadm;
-- OWNER to dmtadm;
OWNER to dmptool;
ALTER TABLE public."UserDMP"
OWNER to dmtadm;
-- OWNER to dmtadm;
OWNER to dmptool;
INSERT INTO public."DMPDatasetProfile"(
dmp, datasetprofile)
SELECT "ID", unnest(xpath('/profiles/profile/@profileId', dmpp."AssociatedDmps"::xml)::text[]::UUID[])
FROM public."DMP" as dmpp
--INSERT INTO public."DMPDatasetProfile"(
-- dmp, datasetprofile)
-- SELECT "ID", unnest(xpath('/profiles/profile/@profileId', dmpp."AssociatedDmps"::xml)::text[]::UUID[])
-- FROM public."DMP" as dmpp;
Alter table public."DMP"
add "FinalizedDat" timestamp(6) with time zone
ALTER TABLE public."DMP"
ADD "FinalizedDat" timestamp(6) WITH time zone;
update public."DMP" SET "FinalizedDat" = "Modified"
where "Status" = 1
UPDATE public."DMP" SET "FinalizedDat" = "Modified"
WHERE "Status" = 1;
Alter table public."Dataset"
add "FinalizedDat" timestamp(6) with time zone
ALTER TABLE public."Dataset"
ADD "FinalizedDat" timestamp(6) WITH time zone;
update public."Dataset" SET "FinalizedDat" = "Modified"
where "Status" = 1
UPDATE public."Dataset" SET "FinalizedDat" = "Modified"
WHERE "Status" = 1;

View File

@ -3,5 +3,5 @@ Add "isPublic" boolean NOT NULL Default False;
UPDATE public."DMP"
SET "isPublic" = True
WHERE "Status" = 1
WHERE "Status" = 1;

View File

@ -1,6 +1,6 @@
ALTER TABLE public."DMP"
ADD "PublishedAt" timestamp(6) with time zone
ADD "PublishedAt" timestamp(6) WITH time zone;
UPDATE public."DMP"
SET "PublishedAt" = "FinalizedDat"
where "isPublic" = True
where "isPublic" = True;

View File

@ -1,2 +1,2 @@
ALTER TABLE public."DMP"
ADD COLUMN "DOI" text
ADD COLUMN "DOI" text;

View File

@ -0,0 +1,15 @@
CREATE TABLE public."Content" (
"Id" uuid NOT NULL,
"Filename" character varying NOT NULL,
"Extension" character varying NOT NULL,
"ParentType" numeric NOT NULL,
"Uri" character varying NOT NULL,
"LocationType" numeric NOT NULL
);
ALTER TABLE public."Content" OWNER TO dmptool;
ALTER TABLE ONLY public."Content"
ADD CONSTRAINT "Content_pkey" PRIMARY KEY ("Id");

View File

@ -1,2 +0,0 @@
ALTER TABLE public."Dataset"
DROP COLUMN "IsPublic"

View File

@ -14,4 +14,5 @@ WITH (
TABLESPACE pg_default;
ALTER TABLE public."LoginConfirmationEmail"
OWNER to dmtadm;
-- OWNER to dmtadm;
OWNER to dmptool;

View File

@ -0,0 +1,9 @@
ALTER TABLE public."Grant"
ADD COLUMN "Content" uuid;
ALTER TABLE public."Grant"
ADD CONSTRAINT fk_grant_content FOREIGN KEY ("Content")
REFERENCES public."Content" ("Id") MATCH SIMPLE
ON UPDATE NO ACTION
ON DELETE NO ACTION;

View File

@ -1,2 +0,0 @@
ALTER TABLE public."Grant"
RENAME CONSTRAINT "fk_project_content" TO "fk_grant_content";

View File

@ -0,0 +1,18 @@
ALTER TABLE public."Grant"
ALTER COLUMN "Reference" TYPE character varying(255);
ALTER TABLE public."Grant"
ALTER COLUMN "Definition" TYPE character varying;
ALTER TABLE public."Registry"
ALTER COLUMN "Reference" TYPE character varying;
ALTER TABLE public."Service"
ALTER COLUMN "Reference" TYPE character varying;
ALTER TABLE public."Researcher"
ALTER COLUMN "Reference" TYPE character varying;
ALTER TABLE public."DataRepository"
ALTER COLUMN "Reference" TYPE character varying;

View File

@ -0,0 +1,2 @@
ALTER TABLE "Funder"
ADD COLUMN "CreationUser" uuid;

View File

@ -1,4 +1,4 @@
Update "Funder" as funder
set "CreationUser" = grant1."CreationUser"
from "Grant" as grant1
where funder."ID" = grant1."Funder"
where funder."ID" = grant1."Funder" ;

View File

@ -0,0 +1,15 @@
CREATE TABLE public."ExternalDataset" (
"Id" uuid DEFAULT public.uuid_generate_v4() NOT NULL,
"Label" character varying NOT NULL,
"Abbreviation" character varying,
"Reference" character varying NOT NULL,
"Created" timestamp(4) with time zone NOT NULL,
"Modified" timestamp(4) with time zone NOT NULL
);
ALTER TABLE public."ExternalDataset" OWNER TO dmptool;
ALTER TABLE ONLY public."ExternalDataset"
ADD CONSTRAINT "ExternalDataset_pkey" PRIMARY KEY ("Id");

View File

@ -0,0 +1,11 @@
ALTER TABLE "DataRepository"
ADD COLUMN "CreationUser" uuid;
ALTER TABLE "ExternalDataset"
ADD COLUMN "CreationUser" uuid;
ALTER TABLE "Registry"
ADD COLUMN "CreationUser" uuid;
ALTER TABLE "Service"
ADD COLUMN "CreationUser" uuid;

View File

@ -0,0 +1,2 @@
ALTER TABLE "Researcher"
ADD COLUMN "CreationUser" uuid;

View File

@ -1,11 +0,0 @@
ALTER TABLE "DataRepository"
ADD COLUMN "CreationUser" uuid
ALTER TABLE "ExternalDataset"
ADD COLUMN "CreationUser" uuid
ALTER TABLE "Registry"
ADD COLUMN "CreationUser" uuid
ALTER TABLE "Service"
ADD COLUMN "CreationUser" uuid

View File

@ -1,2 +0,0 @@
ALTER TABLE "Funder"
ADD COLUMN "CreationUser" uuid

View File

@ -1,2 +0,0 @@
ALTER TABLE "Researcher"
ADD COLUMN "CreationUser" uuid

View File

@ -1,6 +0,0 @@
UPDATE "Researcher"
SET "Reference" = CONCAT(LOWER(LEFT("Reference", 1)), SUBSTRING("Reference", 2))
WHERE "ID" in (
SELECT "ID" FROM "Researcher"
WHERE ASCII(LEFT("Reference", 1)) BETWEEN ASCII('A') AND ASCII('Z')
)

View File

@ -0,0 +1,17 @@
ALTER TABLE public."DMP"
ADD COLUMN "DmpProperties" text;
ALTER TABLE public."DMP"
ADD COLUMN "GroupId" uuid;
ALTER TABLE public."DMP"
ADD COLUMN "Properties" text;
ALTER TABLE public."DatasetProfile"
ADD COLUMN "GroupId" uuid;
ALTER TABLE public."DatasetProfile"
ADD COLUMN "Version" integer;
ALTER TABLE public."Grant"
ADD COLUMN "Type" numeric NOT NULL;

View File

@ -0,0 +1,25 @@
CREATE TABLE public."Credential" (
"Id" uuid NOT NULL,
"Status" numeric NOT NULL,
"Provider" numeric NOT NULL,
"Public" character varying NOT NULL,
"Secret" character varying NOT NULL,
"CreationTime" timestamp(4) with time zone NOT NULL,
"LastUpdateTime" timestamp(4) with time zone NOT NULL,
"UserId" uuid NOT NULL,
"ExternalId" character varying NOT NULL
);
ALTER TABLE public."Credential" OWNER TO dmptool;
ALTER TABLE ONLY public."Credential"
ADD CONSTRAINT "Credential_pkey" PRIMARY KEY ("Id");
ALTER TABLE ONLY public."Credential"
ADD CONSTRAINT fkey_credential_user FOREIGN KEY ("UserId") REFERENCES public."UserInfo"(id);
INSERT INTO public."UserInfo"(email, authorization_level, usertype, name, created, additionalinfo) VALUES ('fake@email.org', 1, 1, :'ADMIN_USERNAME', now(), '{}');
INSERT INTO public."Credential" VALUES (uuid_generate_v4(), 0, 5, :'ADMIN_USERNAME', :'ADMIN_PASSWORD', now(), now(), (SELECT public."UserInfo"."id" FROM public."UserInfo" WHERE name = 'admin'), 'dmp');

View File

@ -0,0 +1,16 @@
CREATE TABLE public."UserToken" (
"Token" uuid NOT NULL,
"UserId" uuid NOT NULL,
"IssuedAt" timestamp(4) with time zone NOT NULL,
"ExpiresAt" timestamp(4) with time zone NOT NULL
);
ALTER TABLE public."UserToken" OWNER TO dmptool;
ALTER TABLE ONLY public."UserToken"
ADD CONSTRAINT "UserToken_pkey" PRIMARY KEY ("Token");
ALTER TABLE ONLY public."UserToken"
ADD CONSTRAINT fkey_usetoken_user FOREIGN KEY ("UserId") REFERENCES public."UserInfo"(id);

View File

@ -0,0 +1,18 @@
CREATE TABLE public."UserRole" (
"Id" uuid DEFAULT public.uuid_generate_v4() NOT NULL,
"Role" numeric DEFAULT 0 NOT NULL,
"UserId" uuid NOT NULL
);
ALTER TABLE public."UserRole" OWNER TO dmptool;
ALTER TABLE ONLY public."UserRole"
ADD CONSTRAINT "UserRole_pkey" PRIMARY KEY ("Id");
ALTER TABLE ONLY public."UserRole"
ADD CONSTRAINT "UserRole_userId_fkey" FOREIGN KEY ("UserId") REFERENCES public."UserInfo"(id);
INSERT INTO public."UserRole"("Role", "UserId") VALUES (2, (SELECT public."UserInfo"."id" FROM public."UserInfo" WHERE name = 'admin'));

View File

@ -0,0 +1 @@
DROP TABLE IF EXISTS "UserAuth" CASCADE;

View File

@ -1,8 +1,25 @@
version: '2.2'
version: "2.4"
services:
dmp-db:
image: postgres
container_name: opendmp-db
restart: unless-stopped
ports:
- "5001:5432"
expose:
- "5432"
volumes:
- dmpdata:/var/lib/postgresql/data
- ./dmp-db-scema:/docker-entrypoint-initdb.d/
- ./dmp-db-scema/main:/main
- ./dmp-db-scema/updates:/updates
env_file: ./dmp-db-scema/Docker/dmp-db.env
networks:
- opendmp-backend-network
dmp-backend:
build:
build:
context: ./dmp-backend
container_name: opendmp-backend
env_file: ./dmp-backend/Docker/dmp-backend.env
@ -38,4 +55,7 @@ services:
networks:
opendmp-frontend-network:
opendmp-backend-network:
opendmp-backend-network:
volumes:
dmpdata:
external: true