forked from taskcluster/taskcluster
-
Notifications
You must be signed in to change notification settings - Fork 0
/
0017-downgrade.sql
29 lines (26 loc) · 1.14 KB
/
0017-downgrade.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
begin
-- lock this table before reading from it, to prevent loss of concurrent
-- updates when the table is dropped.
lock table denylisted_notifications;
create table denylisted_notification_entities(
partition_key text, row_key text,
value jsonb not null,
version integer not null,
etag uuid default public.gen_random_uuid());
alter table denylisted_notification_entities add primary key (partition_key, row_key);
insert into denylisted_notification_entities
select
encode_string_key(notification_type) as partition_key,
encode_string_key(notification_address) as row_key,
jsonb_build_object(
'PartitionKey', encode_string_key(notification_type),
'RowKey', encode_string_key(notification_address),
'notificationType', notification_type,
'notificationAddress', notification_address) as value,
1 as version,
etag
from denylisted_notifications;
revoke select, insert, update, delete on denylisted_notifications from $db_user_prefix$_notify;
drop table denylisted_notifications;
grant select, insert, update, delete on denylisted_notification_entities to $db_user_prefix$_notify;
end