numerus/deploy/roles.sql

28 lines
479 B
PL/PgSQL

-- Deploy numerus:roles to pg
begin;
do
$$
declare
role name;
roles name[] := array['guest', 'invoicer', 'admin', 'authenticator'];
begin
foreach role in array roles
loop
begin
execute 'create role ' || role || ' noinherit nologin';
exception
when duplicate_object then
raise notice '%, skipping', sqlerrm using errcode = sqlstate;
end;
end loop;
end
$$;
grant guest to authenticator;
grant invoicer to authenticator;
grant admin to authenticator;
commit;