SQL
CREATE TABLE sms_reply_drafts (
id TEXT PRIMARY KEY,
message_id TEXT NOT NULL,
phone_number 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 sms_messages(id)
ON DELETE RESTRICT DEFERRABLE INITIALLY DEFERRED,
FOREIGN KEY (phone_number)
REFERENCES sms_conversations(phone_number)
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 | ||
phone_number |
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 |
phone_number |
sms_conversations.phone_number |
message_id |
sms_messages.id |
Indexes
| Name | Columns | Unique | SQL | Drop? |
|---|---|---|---|---|
| idx_sms_reply_drafts_message |
|
SQL | Drop | |
| idx_sms_reply_drafts_status |
|
SQL | Drop | |
| sqlite_autoindex_sms_reply_drafts_1 |
id
|
✓ | SQL | Drop |