Skip to content

Commit b4056aa

Browse files
committed
fix: update migration to account for missing pgsodium
1 parent 78cf6fb commit b4056aa

File tree

1 file changed

+25
-19
lines changed

1 file changed

+25
-19
lines changed
Lines changed: 25 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,31 @@
11
-- migrate:up
2-
CREATE OR REPLACE FUNCTION pgsodium.mask_role(masked_role regrole, source_name text, view_name text)
3-
RETURNS void
4-
LANGUAGE plpgsql
5-
SECURITY DEFINER
6-
SET search_path TO ''
7-
AS $function$
2+
3+
DO $$
84
BEGIN
9-
EXECUTE format(
10-
'GRANT SELECT ON pgsodium.key TO %s',
11-
masked_role);
5+
IF EXISTS (SELECT FROM pg_extension WHERE extname = 'pgsodium') THEN
6+
CREATE OR REPLACE FUNCTION pgsodium.mask_role(masked_role regrole, source_name text, view_name text)
7+
RETURNS void
8+
LANGUAGE plpgsql
9+
SECURITY DEFINER
10+
SET search_path TO ''
11+
AS $function$
12+
BEGIN
13+
EXECUTE format(
14+
'GRANT SELECT ON pgsodium.key TO %s',
15+
masked_role);
1216

13-
EXECUTE format(
14-
'GRANT pgsodium_keyiduser, pgsodium_keyholder TO %s',
15-
masked_role);
17+
EXECUTE format(
18+
'GRANT pgsodium_keyiduser, pgsodium_keyholder TO %s',
19+
masked_role);
1620

17-
EXECUTE format(
18-
'GRANT ALL ON %I TO %s',
19-
view_name,
20-
masked_role);
21-
RETURN;
22-
END
23-
$function$;
21+
EXECUTE format(
22+
'GRANT ALL ON %I TO %s',
23+
view_name,
24+
masked_role);
25+
RETURN;
26+
END
27+
$function$;
28+
END IF;
29+
END $$;
2430

2531
-- migrate:down

0 commit comments

Comments
 (0)