25 lines
1.4 KiB
SQL
25 lines
1.4 KiB
SQL
-- 0013_contact_profiles_and_dialog_pins: owner-scoped contact profile fields and pin order.
|
|
--
|
|
-- contact_* columns are deliberately scoped to (user_id, contact_user_id): they model the
|
|
-- current account's saved name/phone/note for a peer and must not mutate users global data.
|
|
|
|
ALTER TABLE contacts
|
|
ADD COLUMN IF NOT EXISTS contact_phone VARCHAR(32) NOT NULL DEFAULT '',
|
|
ADD COLUMN IF NOT EXISTS contact_first_name VARCHAR(255) NOT NULL DEFAULT '',
|
|
ADD COLUMN IF NOT EXISTS contact_last_name VARCHAR(255) NOT NULL DEFAULT '',
|
|
ADD COLUMN IF NOT EXISTS note TEXT NOT NULL DEFAULT '',
|
|
ADD COLUMN IF NOT EXISTS note_entities JSONB NOT NULL DEFAULT '[]'::jsonb,
|
|
ADD COLUMN IF NOT EXISTS close_friend BOOLEAN NOT NULL DEFAULT false,
|
|
ADD COLUMN IF NOT EXISTS stories_hidden BOOLEAN NOT NULL DEFAULT false;
|
|
|
|
CREATE INDEX IF NOT EXISTS contacts_user_name_idx
|
|
ON contacts (user_id, contact_first_name, contact_last_name, contact_user_id);
|
|
|
|
ALTER TABLE dialogs
|
|
ADD COLUMN IF NOT EXISTS pinned_order INT NOT NULL DEFAULT 0,
|
|
ADD COLUMN IF NOT EXISTS unread_mark BOOLEAN NOT NULL DEFAULT false,
|
|
ADD COLUMN IF NOT EXISTS hidden_peer_settings_bar BOOLEAN NOT NULL DEFAULT false;
|
|
|
|
CREATE INDEX IF NOT EXISTS dialogs_user_pinned_order_idx
|
|
ON dialogs (user_id, pinned, pinned_order, top_message_date DESC, top_message_id DESC, peer_id DESC)
|
|
WHERE pinned;
|