SQL

CREATE TABLE sms_conversations  (
  phone_number TEXT PRIMARY KEY,
  -- "+1555123456"
  display_name TEXT,
  -- optional future contact name
  provider TEXT NOT NULL DEFAULT 'textbelt',
  message_count INTEGER NOT NULL DEFAULT 0,
  pending_reply_count INTEGER NOT NULL DEFAULT 0,
  last_message_at TEXT,
  last_inbound_at TEXT,
  last_outbound_at TEXT,
  latest_draft_id TEXT,
  created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now')),
  updated_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now'))
)

+ Add column

Columns

Column Data type Allow null Primary key Actions
phone_number TEXT Rename | Drop
display_name TEXT Rename | Drop
provider TEXT Rename | Drop
message_count INTEGER Rename | Drop
pending_reply_count INTEGER Rename | Drop
last_message_at TEXT Rename | Drop
last_inbound_at TEXT Rename | Drop
last_outbound_at TEXT Rename | Drop
latest_draft_id TEXT Rename | Drop
created_at TEXT Rename | Drop
updated_at TEXT Rename | Drop

+ Add index

Indexes

Name Columns Unique SQL Drop?
idx_sms_conversations_last_message last_message_at SQL
CREATE INDEX idx_sms_conversations_last_message
ON sms_conversations(last_message_at DESC)
Drop
idx_sms_conversations_pending
  • pending_reply_count
  • updated_at
SQL
CREATE INDEX idx_sms_conversations_pending
ON sms_conversations(pending_reply_count DESC, updated_at DESC)
Drop
sqlite_autoindex_sms_conversations_1 phone_number SQL
-- no sql found --
Drop