27 lines
1.8 KiB
SQL
27 lines
1.8 KiB
SQL
-- Reserved development migration version.
|
|
-- SCAM/FAKE is authoritative peer profile state. updateUser/updateChannel have
|
|
-- no pts/pts_count, so this migration must not admit a moderation-only account
|
|
-- PTS event type.
|
|
--
|
|
-- 'message_reactions' is kept in the allow-list even though current code
|
|
-- never writes it (message reactions are delivered live, not logged to this
|
|
-- durable table -- see message_saved_reactions_integration_test.go, which
|
|
-- asserts zero such rows after reacting). A prior release did write it, so a
|
|
-- production database can still carry old rows of that type; dropping it
|
|
-- from the allow-list breaks this ALTER TABLE against that real data (the
|
|
-- CHECK applies to every existing row, not just new ones).
|
|
ALTER TABLE public.user_update_events DROP CONSTRAINT IF EXISTS user_update_events_type_check;
|
|
ALTER TABLE public.user_update_events ADD CONSTRAINT user_update_events_type_check CHECK (
|
|
(event_type)::text = ANY (ARRAY[
|
|
'new_message', 'read_history_inbox', 'read_history_outbox', 'read_message_contents',
|
|
'edit_message', 'web_page', 'message_reactions', 'message_poll', 'draft_message', 'quick_replies',
|
|
'new_quick_reply', 'delete_quick_reply', 'quick_reply_message', 'delete_quick_reply_messages',
|
|
'contacts_reset', 'dialog_pinned', 'pinned_dialogs', 'pinned_messages', 'dialog_unread_mark',
|
|
'peer_settings', 'peer_story_blocked', 'user_phone', 'user_emoji_status',
|
|
'delete_messages', 'dialog_filter', 'dialog_filter_order', 'dialog_filters', 'folder_peers',
|
|
'channel_view_forum_as_messages', 'channel_state',
|
|
'saved_dialog_pinned', 'pinned_saved_dialogs', 'story', 'read_stories',
|
|
'sent_story_reaction', 'new_story_reaction', 'noop',
|
|
'read_channel_discussion_inbox', 'read_channel_discussion_outbox'
|
|
]::text[])
|
|
);
|