From cb07b71a883b0be9f42be5c2aea6533d2b8b8765 Mon Sep 17 00:00:00 2001 From: Florian THIERRY Date: Thu, 30 Nov 2023 17:09:00 +0100 Subject: [PATCH] Creation of database foundations. --- .gitignore | 2 ++ docker-compose.yml | 7 +++++++ .../main/resources/sql/000-database-creation.sql | 1 + .../sql/001-initial-script-tables-creation.sql | 13 +++++++++++++ 4 files changed, 23 insertions(+) create mode 100644 sportshub-infrastructure/src/main/resources/sql/000-database-creation.sql create mode 100644 sportshub-infrastructure/src/main/resources/sql/001-initial-script-tables-creation.sql diff --git a/.gitignore b/.gitignore index 549e00a..e0e4f79 100644 --- a/.gitignore +++ b/.gitignore @@ -31,3 +31,5 @@ build/ ### VS Code ### .vscode/ + +**/docker/postgresql/pgdata \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index da23e81..4117de2 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -8,6 +8,13 @@ services: - "50001:5432" networks: - "sportshub-local-network" + environment: + POSTGRES_DB: sportshub_db + POSTGRES_USER: sportshub_admin + POSTGRES_PASSWORD: password + PGDATA: /var/lib/postgresql/data/pgdata + volumes: + - "./docker/postgresql/pgdata:/var/lib/postgresql/data/pgdata" networks: sportshub-local-network: \ No newline at end of file diff --git a/sportshub-infrastructure/src/main/resources/sql/000-database-creation.sql b/sportshub-infrastructure/src/main/resources/sql/000-database-creation.sql new file mode 100644 index 0000000..682131d --- /dev/null +++ b/sportshub-infrastructure/src/main/resources/sql/000-database-creation.sql @@ -0,0 +1 @@ +CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; \ No newline at end of file diff --git a/sportshub-infrastructure/src/main/resources/sql/001-initial-script-tables-creation.sql b/sportshub-infrastructure/src/main/resources/sql/001-initial-script-tables-creation.sql new file mode 100644 index 0000000..e722e24 --- /dev/null +++ b/sportshub-infrastructure/src/main/resources/sql/001-initial-script-tables-creation.sql @@ -0,0 +1,13 @@ +CREATE TABLE IF NOT EXISTS "user" ( + id UUID NOT NULL, + password VARCHAR NOT NULL, + CONSTRAINT user_pk PRIMARY KEY (id) +); + +CREATE TABLE IF NOT EXISTS user_role ( + user_id UUID NOT NULL, + role SMALLINT, + CONSTRAINT user_role_pk PRIMARY KEY (user_id, role), + CONSTRAINT user_role_fk_user_id FOREIGN KEY (user_id) REFERENCES "user" (id) +); +CREATE INDEX user_role_fk_user_id_idx ON user_role (user_id); \ No newline at end of file