Skip to content

Commit 690f773

Browse files
committed
sql file more oredered
1 parent 0b0b6ff commit 690f773

File tree

2 files changed

+33
-47
lines changed

2 files changed

+33
-47
lines changed

sql/queries.sql

Lines changed: 31 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,62 +1,52 @@
1-
21
CREATE SCHEMA audit;
32
CREATE SCHEMA analytics;
43

5-
6-
CREATE ROLE app_reader NOINHERIT;
7-
CREATE ROLE app_writer NOINHERIT;
8-
CREATE ROLE auditor NOINHERIT;
4+
CREATE ROLE app_reader NOINHERIT;
5+
CREATE ROLE app_writer NOINHERIT;
6+
CREATE ROLE auditor NOINHERIT;
97
CREATE ROLE report_user NOINHERIT;
108
CREATE ROLE backup_role NOINHERIT;
119

12-
10+
ALTER ROLE backup_user CREATEDB;
1311

1412
GRANT SELECT ON ALL TABLES IN SCHEMA public TO app_reader;
15-
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO app_writer;
13+
GRANT SELECT,INSERT,UPDATE,DELETE ON ALL TABLES IN SCHEMA public TO app_writer;
1614
GRANT SELECT ON ALL TABLES IN SCHEMA audit TO auditor;
1715
GRANT SELECT ON ALL TABLES IN SCHEMA analytics TO report_user;
18-
GRANT CONNECT ON DATABASE videogames_db TO backup_role;
19-
GRANT USAGE ON SCHEMA public, audit, analytics TO backup_role;
20-
GRANT SELECT ON ALL TABLES IN SCHEMA public, audit, analytics TO backup_role;
21-
GRANT SELECT ON ALL SEQUENCES IN SCHEMA public, audit, analytics TO backup_role;
22-
23-
24-
2516

26-
ALTER DEFAULT PRIVILEGES IN SCHEMA public, audit, analytics
27-
GRANT SELECT ON TABLES TO backup_role;
28-
ALTER DEFAULT PRIVILEGES IN SCHEMA public, audit, analytics
29-
GRANT SELECT ON SEQUENCES TO backup_role;
30-
ALTER ROLE backup_user CREATEDB;
17+
GRANT CONNECT ON DATABASE videogames_db TO backup_role;
18+
GRANT USAGE ON SCHEMA public,audit,analytics TO backup_role;
19+
GRANT SELECT ON ALL TABLES IN SCHEMA public,audit,analytics TO backup_role;
20+
GRANT SELECT ON ALL SEQUENCES IN SCHEMA public,audit,analytics TO backup_role;
3121

32-
--------------
22+
ALTER DEFAULT PRIVILEGES IN SCHEMA public,audit,analytics
23+
GRANT SELECT ON TABLES TO backup_role;
24+
ALTER DEFAULT PRIVILEGES IN SCHEMA public,audit,analytics
25+
GRANT SELECT ON SEQUENCES TO backup_role;
3326

34-
GRANT USAGE ON SCHEMA audit TO app_writer;
27+
GRANT USAGE ON SCHEMA audit TO app_writer;
3528
GRANT INSERT ON audit.audit_log TO app_writer;
36-
GRANT USAGE, SELECT ON SEQUENCE audit.audit_log_id_seq TO app_writer;
37-
38-
29+
GRANT USAGE,SELECT ON SEQUENCE audit.audit_log_id_seq TO app_writer;
3930

40-
CREATE USER game_reader WITH PASSWORD 'readerpass';
41-
CREATE USER game_writer WITH PASSWORD 'writerpass';
42-
CREATE USER audit_user WITH PASSWORD 'auditpass';
31+
CREATE USER game_reader WITH PASSWORD 'readerpass';
32+
CREATE USER game_writer WITH PASSWORD 'writerpass';
33+
CREATE USER audit_user WITH PASSWORD 'auditpass';
4334
CREATE USER report_user_app WITH PASSWORD 'reportpass';
44-
CREATE USER backup_user WITH PASSWORD 'backuppass';
45-
46-
47-
35+
CREATE USER backup_user WITH PASSWORD 'backuppass';
4836

49-
GRANT app_reader TO game_reader;
50-
GRANT app_writer TO game_writer;
51-
GRANT auditor TO audit_user;
37+
GRANT app_reader TO game_reader;
38+
GRANT app_writer TO game_writer;
39+
GRANT auditor TO audit_user;
5240
GRANT report_user TO report_user_app;
5341
GRANT backup_role TO backup_user;
5442

43+
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT,INSERT,UPDATE,DELETE ON TABLES TO app_writer;
5544

56-
ALTER DEFAULT PRIVILEGES IN SCHEMA public
57-
GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO app_writer;
58-
59-
45+
GRANT USAGE ON SCHEMA public TO report_user;
46+
GRANT SELECT ON TABLE public.django_session TO report_user;
47+
GRANT SELECT ON TABLE public.auth_user TO report_user;
48+
GRANT SELECT ON TABLE public.django_content_type TO report_user;
49+
GRANT SELECT ON TABLE public.auth_permission TO report_user;
6050

6151
-------------------------------------------------------------------------------
6252

@@ -187,6 +177,7 @@ WHERE rank_in_genre <= 5;
187177
GRANT SELECT ON analytics.top_reviewed_games_per_genre TO report_user;
188178

189179

180+
190181
CREATE MATERIALIZED VIEW analytics.avg_rating_per_game AS
191182
SELECT
192183
vg.id AS game_id,
@@ -271,6 +262,8 @@ ON public.videogames_register_videogame
271262
USING GIN(to_tsvector('english', description));
272263

273264

265+
266+
274267
SELECT * FROM videogames_register_developer WHERE videogames_register_developer.id IS NULL;
275268

276269
--------------------------------------------------------
@@ -287,15 +280,6 @@ HAVING COUNT(DISTINCT r.game_id) > 3;
287280

288281

289282

290-
SELECT
291-
u.username,
292-
COUNT(DISTINCT r.game_id) AS reviewed_games
293-
FROM public.auth_user u
294-
JOIN public.videogames_register_review r ON u.id = r.user_id
295-
GROUP BY u.username
296-
HAVING COUNT(DISTINCT r.game_id) > 3;
297-
298-
299283
SELECT
300284
vg.title,
301285
ROUND(AVG(r.rating)::numeric, 2) AS avg_rating,

videogames_register/views.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,8 @@ def copy_form(request):
116116

117117

118118
#REPORTING
119+
120+
119121
def report_top_genres(request):
120122
data = (
121123
VideoGame.objects

0 commit comments

Comments
 (0)