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
)
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 |
Indexes
| Name | Columns | Unique | SQL | Drop? |
|---|---|---|---|---|
| idx_email_reply_drafts_message |
|
SQL | Drop | |
| idx_email_reply_drafts_status |
|
SQL | Drop | |
| sqlite_autoindex_email_reply_drafts_1 |
id
|
✓ | SQL | Drop |