SQL
CREATE TABLE watchers (
id TEXT PRIMARY KEY,
title TEXT,
query TEXT,
spec TEXT NOT NULL,
status TEXT NOT NULL CHECK (status IN ('enabled','disabled','paused','error')),
cooldown_s INTEGER DEFAULT 1800,
interval_s INTEGER DEFAULT 60,
throttle_s INTEGER DEFAULT 300,
schedule_cron TEXT,
dedupe_window_s INTEGER DEFAULT 0,
dedupe_mode TEXT,
reason_trace_template TEXT,
last_fired_at TEXT,
last_eval_at TEXT,
fire_count INTEGER DEFAULT 0,
dedupe_key TEXT,
notify 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')),
CHECK (schedule_cron IS NOT NULL OR interval_s IS NOT NULL)
)
Columns
| Column | Data type | Allow null | Primary key | Actions |
|---|---|---|---|---|
id |
TEXT |
✓ | ✓ | Rename | Drop |
title |
TEXT |
✓ | Rename | Drop | |
query |
TEXT |
✓ | Rename | Drop | |
spec |
TEXT |
Rename | Drop | ||
status |
TEXT |
Rename | Drop | ||
cooldown_s |
INTEGER |
✓ | Rename | Drop | |
interval_s |
INTEGER |
✓ | Rename | Drop | |
throttle_s |
INTEGER |
✓ | Rename | Drop | |
schedule_cron |
TEXT |
✓ | Rename | Drop | |
dedupe_window_s |
INTEGER |
✓ | Rename | Drop | |
dedupe_mode |
TEXT |
✓ | Rename | Drop | |
reason_trace_template |
TEXT |
✓ | Rename | Drop | |
last_fired_at |
TEXT |
✓ | Rename | Drop | |
last_eval_at |
TEXT |
✓ | Rename | Drop | |
fire_count |
INTEGER |
✓ | Rename | Drop | |
dedupe_key |
TEXT |
✓ | Rename | Drop | |
notify |
TEXT |
✓ | Rename | Drop | |
created_at |
TEXT |
Rename | Drop | ||
updated_at |
TEXT |
Rename | Drop |
Indexes
| Name | Columns | Unique | SQL | Drop? |
|---|---|---|---|---|
| sqlite_autoindex_watchers_1 |
id
|
✓ | SQL | Drop |