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'))
)
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 |
Indexes
| Name | Columns | Unique | SQL | Drop? |
|---|---|---|---|---|
| idx_sources_kind |
kind
|
SQL | Drop | |
| idx_sources_status |
status
|
SQL | Drop | |
| sqlite_autoindex_sources_1 |
id
|
✓ | SQL | Drop |