diff --git a/backend/db/Dockerfile b/backend/db/Dockerfile index 6c9e911..880b4f2 100644 --- a/backend/db/Dockerfile +++ b/backend/db/Dockerfile @@ -1,4 +1,3 @@ -FROM postgres:15 +FROM postgres:15-alpine -RUN mkdir /docker-entrypoint-initdb.d -COPY createSchema.sql /docker-entrypoint-initdb.d \ No newline at end of file +COPY createSchema.sql /docker-entrypoint-initdb.d/createSchema.sql \ No newline at end of file diff --git a/backend/db/createSchema.sql b/backend/db/createSchema.sql index 0041f5f..26eed03 100644 --- a/backend/db/createSchema.sql +++ b/backend/db/createSchema.sql @@ -1,14 +1,15 @@ CREATE TABLE "user" ( username VARCHAR(32) PRIMARY KEY -) +); CREATE TABLE game ( id SERIAL PRIMARY KEY, score INTEGER NOT NULL, playtime TIME NOT NULL, date DATE NOT NULL, - username VARCHAR(32) NOT NULL FOREIGN KEY REFERENCES "user" -) + username VARCHAR(32) NOT NULL, + FOREIGN KEY (username) REFERENCES "user" +); CREATE VIEW user_data AS ( SELECT @@ -20,20 +21,20 @@ CREATE VIEW user_data AS ( count(*) AS games_played FROM game GROUP BY username -) +); CREATE VIEW lb_highscore AS ( SELECT username, max(score) AS highscore FROM game GROUP BY username ORDER BY highscore DESC -) +); CREATE VIEW lb_highscore AS ( - SELECT username, sum(score) AS total_score, FROM game GROUP BY username ORDER BY total_score DESC -) + SELECT username, sum(score) AS total_score FROM game GROUP BY username ORDER BY total_score DESC +); CREATE VIEW lb_total_playtime AS ( SELECT username, sum(playtime) AS total_playtime FROM game GROUP BY username ORDER BY total_playtime DESC -) +); CREATE VIEW lb_average_score AS ( SELECT username, avg(score) AS average_score FROM game GROUP BY username ORDER BY average_score DESC -) \ No newline at end of file +); \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 19b2122..89b49f4 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,6 +3,7 @@ version: '3.1' services: db: build: backend/db + container_name: postgres-db environment: POSTGRES_DB: rr POSTGRES_USER: postgres