36 lines
2.2 KiB
SQL
36 lines
2.2 KiB
SQL
ALTER TABLE conversations ADD COLUMN IF NOT EXISTS display_id INTEGER;
|
|
ALTER TABLE conversations ADD COLUMN IF NOT EXISTS contact_inbox_id INTEGER;
|
|
ALTER TABLE conversations ADD COLUMN IF NOT EXISTS team_id INTEGER;
|
|
ALTER TABLE conversations ADD COLUMN IF NOT EXISTS campaign_id INTEGER;
|
|
ALTER TABLE conversations ADD COLUMN IF NOT EXISTS sla_policy_id INTEGER;
|
|
ALTER TABLE conversations ADD COLUMN IF NOT EXISTS snoozed_until BIGINT;
|
|
ALTER TABLE conversations ADD COLUMN IF NOT EXISTS additional_attributes JSONB DEFAULT '{}';
|
|
ALTER TABLE conversations ADD COLUMN IF NOT EXISTS custom_attributes JSONB DEFAULT '{}';
|
|
ALTER TABLE conversations ADD COLUMN IF NOT EXISTS agent_last_seen_at BIGINT;
|
|
ALTER TABLE conversations ADD COLUMN IF NOT EXISTS assignee_last_seen_at BIGINT;
|
|
ALTER TABLE conversations ADD COLUMN IF NOT EXISTS contact_last_seen_at BIGINT;
|
|
ALTER TABLE conversations ADD COLUMN IF NOT EXISTS waiting_since BIGINT;
|
|
ALTER TABLE conversations ADD COLUMN IF NOT EXISTS last_activity_at BIGINT;
|
|
ALTER TABLE conversations ADD COLUMN IF NOT EXISTS first_reply_created_at BIGINT;
|
|
ALTER TABLE conversations ADD COLUMN IF NOT EXISTS muted BOOLEAN DEFAULT FALSE;
|
|
ALTER TABLE conversations ADD COLUMN IF NOT EXISTS resolved_at TIMESTAMP WITH TIME ZONE;
|
|
ALTER TABLE conversations ADD COLUMN IF NOT EXISTS resumed_at TIMESTAMP WITH TIME ZONE;
|
|
|
|
ALTER TABLE messages ADD COLUMN IF NOT EXISTS status VARCHAR(50) DEFAULT 'sent';
|
|
ALTER TABLE messages ADD COLUMN IF NOT EXISTS echo_id VARCHAR(255);
|
|
ALTER TABLE messages ADD COLUMN IF NOT EXISTS content_attributes JSONB DEFAULT '{}';
|
|
ALTER TABLE messages ADD COLUMN IF NOT EXISTS additional_attributes JSONB DEFAULT '{}';
|
|
ALTER TABLE messages ADD COLUMN IF NOT EXISTS external_source_ids JSONB DEFAULT '{}';
|
|
|
|
UPDATE conversations
|
|
SET display_id = numbered.display_id
|
|
FROM (
|
|
SELECT id, ROW_NUMBER() OVER (PARTITION BY account_id ORDER BY id)::integer AS display_id
|
|
FROM conversations
|
|
WHERE display_id IS NULL OR display_id = 0
|
|
) AS numbered
|
|
WHERE conversations.id = numbered.id;
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_conversations_account_display_id ON conversations(account_id, display_id) WHERE deleted_at IS NULL;
|
|
CREATE INDEX IF NOT EXISTS idx_messages_echo_id ON messages(echo_id) WHERE deleted_at IS NULL;
|