migrations_v2_unipile.sql 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. ALTER TABLE integration
  2. ADD COLUMN IF NOT EXISTS user_id INT NOT NULL DEFAULT 0,
  3. ADD COLUMN IF NOT EXISTS operator_id INT NOT NULL DEFAULT 0,
  4. ADD COLUMN IF NOT EXISTS integration_metadata JSONB NOT NULL DEFAULT '{}'::jsonb;
  5. ALTER TABLE conversation
  6. ALTER COLUMN conversation_closed_at SET DEFAULT 'infinity',
  7. ALTER COLUMN conversation_sla_deadline SET DEFAULT 'infinity',
  8. ALTER COLUMN conversation_last_message_at SET DEFAULT NOW(),
  9. ALTER COLUMN conversation_last_message_preview SET DEFAULT '',
  10. ALTER COLUMN conversation_last_message_from SET DEFAULT 'client',
  11. ALTER COLUMN conversation_impact_value SET DEFAULT 0,
  12. ALTER COLUMN conversation_ticket_value SET DEFAULT 0,
  13. ALTER COLUMN conversation_conversion_chance SET DEFAULT 0,
  14. ALTER COLUMN conversation_optimum_window SET DEFAULT '';
  15. ALTER TABLE message
  16. DROP CONSTRAINT IF EXISTS fk_quoted_message;
  17. ALTER TABLE message
  18. ALTER COLUMN quoted_message_id SET DEFAULT 0,
  19. ALTER COLUMN message_provider_id SET DEFAULT '',
  20. ALTER COLUMN message_sender_provider_id SET DEFAULT '',
  21. ALTER COLUMN message_content SET DEFAULT '',
  22. ALTER COLUMN message_seen SET DEFAULT FALSE,
  23. ALTER COLUMN message_delivered SET DEFAULT FALSE,
  24. ALTER COLUMN message_event_type SET DEFAULT 0;
  25. ALTER TABLE webhook_event
  26. ALTER COLUMN webhook_event_processed_at SET DEFAULT NOW();
  27. CREATE UNIQUE INDEX IF NOT EXISTS uq_integration_account_active
  28. ON integration (integration_account_id)
  29. WHERE integration_deleted_at = 'infinity';
  30. CREATE UNIQUE INDEX IF NOT EXISTS uq_client_provider_company_active
  31. ON client (company_id, client_provider_id)
  32. WHERE client_deleted_at = 'infinity';
  33. ALTER TABLE conversation
  34. ADD CONSTRAINT uq_conversation_integration_external_deleted
  35. UNIQUE (integration_id, conversation_external_id, conversation_deleted_at);
  36. ALTER TABLE message
  37. ADD CONSTRAINT uq_message_conversation_external_deleted
  38. UNIQUE (conversation_id, message_external_id, message_deleted_at);
  39. ALTER TABLE message_attachment
  40. ADD CONSTRAINT uq_attachment_message_external_deleted
  41. UNIQUE (message_id, attachment_external_id, attachment_deleted_at);
  42. ALTER TABLE conversation_participant
  43. ADD CONSTRAINT uq_participant_conversation_provider_deleted
  44. UNIQUE (conversation_id, participant_provider_id, participant_deleted_at);
  45. ALTER TABLE webhook_event
  46. ADD CONSTRAINT uq_webhook_integration_event_external_deleted
  47. UNIQUE (integration_id, webhook_event_type, webhook_event_external_id, webhook_event_deleted_at);