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
)

+ Add column

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

+ Add index

Indexes

Name Columns Unique SQL Drop?
idx_threads_episode current_episode_id SQL
CREATE INDEX idx_threads_episode
ON threads(current_episode_id)
Drop
idx_threads_updated updated_at SQL
CREATE INDEX idx_threads_updated
ON threads(updated_at)
Drop
sqlite_autoindex_threads_1 thread_id SQL
-- no sql found --
Drop