SQL

CREATE TABLE "messages"  (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  conversation_id INTEGER NOT NULL,
  message_id TEXT NOT NULL,
  sender TEXT NOT NULL,
  message_type TEXT NOT NULL DEFAULT 'text',
  content TEXT,
  media_url TEXT,
  media_mime_type TEXT,
  chatbot_id INTEGER NOT NULL,
  created_at TEXT NOT NULL,
  status TEXT DEFAULT 'sent',
  delivered_at TEXT,
  read_at TEXT,
  sender_user_id TEXT,
  metadata TEXT,
  UNIQUE(chatbot_id, message_id),
  FOREIGN KEY (conversation_id) REFERENCES conversations(id) ON DELETE CASCADE,
  FOREIGN KEY (chatbot_id) REFERENCES chatbots(id) ON DELETE CASCADE
)

+ Add column

Columns

Column Data type Allow null Primary key Actions
id INTEGER Rename | Drop
conversation_id INTEGER Rename | Drop
message_id TEXT Rename | Drop
sender TEXT Rename | Drop
message_type TEXT Rename | Drop
content TEXT Rename | Drop
media_url TEXT Rename | Drop
media_mime_type TEXT Rename | Drop
chatbot_id INTEGER Rename | Drop
created_at TEXT Rename | Drop
status TEXT Rename | Drop
delivered_at TEXT Rename | Drop
read_at TEXT Rename | Drop
sender_user_id TEXT Rename | Drop
metadata TEXT Rename | Drop

Foreign Keys

Column Destination
chatbot_id chatbots.id
conversation_id conversations.id

+ Add index

Indexes

Name Columns Unique SQL Drop?
idx_messages_chatbot_id chatbot_id SQL
CREATE INDEX idx_messages_chatbot_id
ON messages(chatbot_id)
Drop
idx_messages_conversation_id conversation_id SQL
CREATE INDEX idx_messages_conversation_id
ON messages(conversation_id)
Drop
idx_messages_created_at created_at SQL
CREATE INDEX idx_messages_created_at
ON messages(created_at)
Drop
sqlite_autoindex_messages_1
  • chatbot_id
  • message_id
SQL
-- no sql found --
Drop