SQL

CREATE TABLE email_reply_drafts  (
  id TEXT PRIMARY KEY,
  message_id TEXT NOT NULL,
  thread_key TEXT NOT NULL,
  to_email TEXT NOT NULL,
  subject TEXT NOT NULL,
  text_body TEXT NOT NULL,
  confidence REAL NOT NULL DEFAULT 0.0,
  rationale TEXT,
  model TEXT,
  status TEXT NOT NULL CHECK (status IN ('drafted','suppressed','queued','sent','discarded')),
  source_event_id TEXT NOT NULL,
  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')),
  FOREIGN KEY (message_id) REFERENCES email_messages(message_id) ON DELETE RESTRICT DEFERRABLE INITIALLY DEFERRED,
  FOREIGN KEY (thread_key) REFERENCES email_threads(thread_key) ON DELETE RESTRICT DEFERRABLE INITIALLY DEFERRED,
  FOREIGN KEY (source_event_id) REFERENCES events(id) ON DELETE RESTRICT DEFERRABLE INITIALLY DEFERRED
)

+ Add column

Columns

Column Data type Allow null Primary key Actions
id TEXT Rename | Drop
message_id TEXT Rename | Drop
thread_key TEXT Rename | Drop
to_email TEXT Rename | Drop
subject TEXT Rename | Drop
text_body TEXT Rename | Drop
confidence REAL Rename | Drop
rationale TEXT Rename | Drop
model TEXT Rename | Drop
status TEXT Rename | Drop
source_event_id TEXT Rename | Drop
created_at TEXT Rename | Drop
updated_at TEXT Rename | Drop

Foreign Keys

Column Destination
source_event_id events.id
thread_key email_threads.thread_key
message_id email_messages.message_id

+ Add index

Indexes

Name Columns Unique SQL Drop?
idx_email_reply_drafts_message
  • message_id
  • updated_at
SQL
CREATE INDEX idx_email_reply_drafts_message
ON email_reply_drafts(message_id, updated_at DESC)
Drop
idx_email_reply_drafts_status
  • status
  • updated_at
SQL
CREATE INDEX idx_email_reply_drafts_status
ON email_reply_drafts(status, updated_at DESC)
Drop
sqlite_autoindex_email_reply_drafts_1 id SQL
-- no sql found --
Drop