SQL
CREATE TABLE email_messages (
message_id TEXT PRIMARY KEY,
provider TEXT NOT NULL,
mailbox TEXT,
thread_key TEXT NOT NULL,
direction TEXT NOT NULL CHECK (direction IN ('inbound','outbound')),
from_email TEXT,
from_name TEXT,
to_emails TEXT,
cc_emails TEXT,
subject TEXT,
text_body TEXT,
html_body TEXT,
in_reply_to TEXT,
references_json TEXT,
labels_json TEXT,
source_event_id TEXT NOT NULL,
received_at TEXT NOT NULL,
answer_state TEXT NOT NULL CHECK (answer_state IN ('none','pending','drafted','suppressed','queued','sent')),
latest_draft_id TEXT,
suppression_reason 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')),
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 |
|---|---|---|---|---|
message_id |
TEXT |
✓ | ✓ | Rename | Drop |
provider |
TEXT |
Rename | Drop | ||
mailbox |
TEXT |
✓ | Rename | Drop | |
thread_key |
TEXT |
Rename | Drop | ||
direction |
TEXT |
Rename | Drop | ||
from_email |
TEXT |
✓ | Rename | Drop | |
from_name |
TEXT |
✓ | Rename | Drop | |
to_emails |
TEXT |
✓ | Rename | Drop | |
cc_emails |
TEXT |
✓ | Rename | Drop | |
subject |
TEXT |
✓ | Rename | Drop | |
text_body |
TEXT |
✓ | Rename | Drop | |
html_body |
TEXT |
✓ | Rename | Drop | |
in_reply_to |
TEXT |
✓ | Rename | Drop | |
references_json |
TEXT |
✓ | Rename | Drop | |
labels_json |
TEXT |
✓ | Rename | Drop | |
source_event_id |
TEXT |
Rename | Drop | ||
received_at |
TEXT |
Rename | Drop | ||
answer_state |
TEXT |
Rename | Drop | ||
latest_draft_id |
TEXT |
✓ | Rename | Drop | |
suppression_reason |
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 |
Indexes
| Name | Columns | Unique | SQL | Drop? |
|---|---|---|---|---|
| idx_email_messages_answer_state |
|
SQL | Drop | |
| idx_email_messages_from |
|
SQL | Drop | |
| idx_email_messages_mailbox |
|
SQL | Drop | |
| idx_email_messages_thread |
|
SQL | Drop | |
| sqlite_autoindex_email_messages_1 |
message_id
|
✓ | SQL | Drop |