SQL

CREATE TABLE sources  (
  id TEXT PRIMARY KEY,
  kind TEXT NOT NULL,
  -- calendar|gmail|slack|market|health|custom
  label TEXT,
  config TEXT,
  -- JSON (non-secret metadata)
  status TEXT NOT NULL DEFAULT 'ok' CHECK (status IN ('ok','degraded','auth_error','paused','error')),
  last_success_at TEXT,
  last_error_at TEXT,
  last_error 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'))
)

+ Add column

Columns

Column Data type Allow null Primary key Actions
id TEXT Rename | Drop
kind TEXT Rename | Drop
label TEXT Rename | Drop
config TEXT Rename | Drop
status TEXT Rename | Drop
last_success_at TEXT Rename | Drop
last_error_at TEXT Rename | Drop
last_error TEXT Rename | Drop
created_at TEXT Rename | Drop
updated_at TEXT Rename | Drop

+ Add index

Indexes

Name Columns Unique SQL Drop?
idx_sources_kind kind SQL
CREATE INDEX idx_sources_kind
ON sources(kind)
Drop
idx_sources_status status SQL
CREATE INDEX idx_sources_status
ON sources(status)
Drop
sqlite_autoindex_sources_1 id SQL
-- no sql found --
Drop