SQL
CREATE TABLE threads (
thread_id TEXT PRIMARY KEY,
source TEXT NOT NULL,
-- 'slack'
team_id TEXT,
channel_id TEXT,
user_id TEXT,
scope TEXT,
-- dm|slack_thread|channel|user_channel
current_episode_id TEXT,
last_inbound_event_id TEXT,
last_inbound_message_id TEXT,
-- slack ts
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 (current_episode_id) REFERENCES episodes(id) ON DELETE SET NULL DEFERRABLE INITIALLY DEFERRED
)
Columns
| Column | Data type | Allow null | Primary key | Actions |
|---|---|---|---|---|
thread_id |
TEXT |
✓ | ✓ | Rename | Drop |
source |
TEXT |
Rename | Drop | ||
team_id |
TEXT |
✓ | Rename | Drop | |
channel_id |
TEXT |
✓ | Rename | Drop | |
user_id |
TEXT |
✓ | Rename | Drop | |
scope |
TEXT |
✓ | Rename | Drop | |
current_episode_id |
TEXT |
✓ | Rename | Drop | |
last_inbound_event_id |
TEXT |
✓ | Rename | Drop | |
last_inbound_message_id |
TEXT |
✓ | Rename | Drop | |
created_at |
TEXT |
Rename | Drop | ||
updated_at |
TEXT |
Rename | Drop |
Foreign Keys
| Column | Destination |
|---|---|
current_episode_id |
episodes.id |
Indexes
| Name | Columns | Unique | SQL | Drop? |
|---|---|---|---|---|
| idx_threads_episode |
current_episode_id
|
SQL | Drop | |
| idx_threads_updated |
updated_at
|
SQL | Drop | |
| sqlite_autoindex_threads_1 |
thread_id
|
✓ | SQL | Drop |