@@ -33,44 +33,40 @@ namespace :rls do
3333 end
3434
3535 task create_role : :environment do
36- RLS . disable!
37-
38- RLS . connection . execute <<~SQL
39- DO $$
40- BEGIN
41- CREATE ROLE "#{ RLS . role } " WITH NOLOGIN;
42- EXCEPTION
43- WHEN DUPLICATE_OBJECT THEN
44- RAISE NOTICE 'Role "#{ RLS . role } " already exists';
45- END
46- $$;
47-
48- GRANT ALL ON ALL TABLES IN SCHEMA public TO "#{ RLS . role } ";
49- GRANT ALL ON ALL SEQUENCES IN SCHEMA public TO "#{ RLS . role } ";
50- ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON TABLES TO "#{ RLS . role } ";
51- ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON SEQUENCES TO "#{ RLS . role } ";
52- SQL
53-
54- puts "Role #{ RLS . role } created"
55-
56- RLS . enable!
36+ RLS . without_rls do
37+ RLS . connection . execute <<~SQL
38+ DO $$
39+ BEGIN
40+ CREATE ROLE "#{ RLS . role } " WITH NOLOGIN;
41+ EXCEPTION
42+ WHEN DUPLICATE_OBJECT THEN
43+ RAISE NOTICE 'Role "#{ RLS . role } " already exists';
44+ END
45+ $$;
46+
47+ GRANT ALL ON ALL TABLES IN SCHEMA public TO "#{ RLS . role } ";
48+ GRANT ALL ON ALL SEQUENCES IN SCHEMA public TO "#{ RLS . role } ";
49+ ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON TABLES TO "#{ RLS . role } ";
50+ ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON SEQUENCES TO "#{ RLS . role } ";
51+ SQL
52+
53+ puts "Role #{ RLS . role } created"
54+ end
5755 end
5856
5957 task drop_role : :environment do
60- RLS . disable!
61-
62- RLS . connection . execute <<~SQL
63- ALTER DEFAULT PRIVILEGES IN SCHEMA public REVOKE ALL ON TABLES FROM "#{ RLS . role } ";
64- ALTER DEFAULT PRIVILEGES IN SCHEMA public REVOKE ALL ON SEQUENCES FROM "#{ RLS . role } ";
65- REVOKE ALL ON ALL TABLES IN SCHEMA public FROM "#{ RLS . role } ";
66- REVOKE ALL ON ALL SEQUENCES IN SCHEMA public FROM "#{ RLS . role } ";
67- DROP OWNED BY "#{ RLS . role } ";
68- DROP ROLE "#{ RLS . role } ";
69- SQL
70-
71- puts "Role #{ RLS . role } dropped"
72-
73- RLS . enable!
58+ RLS . without_rls do
59+ RLS . connection . execute <<~SQL
60+ ALTER DEFAULT PRIVILEGES IN SCHEMA public REVOKE ALL ON TABLES FROM "#{ RLS . role } ";
61+ ALTER DEFAULT PRIVILEGES IN SCHEMA public REVOKE ALL ON SEQUENCES FROM "#{ RLS . role } ";
62+ REVOKE ALL ON ALL TABLES IN SCHEMA public FROM "#{ RLS . role } ";
63+ REVOKE ALL ON ALL SEQUENCES IN SCHEMA public FROM "#{ RLS . role } ";
64+ DROP OWNED BY "#{ RLS . role } ";
65+ DROP ROLE "#{ RLS . role } ";
66+ SQL
67+
68+ puts "Role #{ RLS . role } dropped"
69+ end
7470 end
7571
7672end
0 commit comments