mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-09-07 08:27:12 +00:00
56 lines
1.9 KiB
SQL
56 lines
1.9 KiB
SQL
CREATE TABLE runs (
|
|
id TEXT PRIMARY KEY NOT NULL,
|
|
source_last_seq INTEGER NOT NULL,
|
|
created_at_ms INTEGER NOT NULL,
|
|
started_at_ms INTEGER,
|
|
last_event_at_ms INTEGER NOT NULL,
|
|
completed_at_ms INTEGER,
|
|
status TEXT NOT NULL,
|
|
archived_at_ms INTEGER,
|
|
parent_id TEXT,
|
|
title TEXT NOT NULL,
|
|
workflow_slug TEXT,
|
|
workflow_name TEXT,
|
|
repository_name TEXT,
|
|
automation_id TEXT,
|
|
diff_files_changed INTEGER NOT NULL DEFAULT 0,
|
|
diff_additions INTEGER NOT NULL DEFAULT 0,
|
|
diff_deletions INTEGER NOT NULL DEFAULT 0,
|
|
input_tokens INTEGER NOT NULL DEFAULT 0,
|
|
output_tokens INTEGER NOT NULL DEFAULT 0,
|
|
reasoning_tokens INTEGER NOT NULL DEFAULT 0,
|
|
cache_read_tokens INTEGER NOT NULL DEFAULT 0,
|
|
cache_write_tokens INTEGER NOT NULL DEFAULT 0,
|
|
total_usd_micros INTEGER,
|
|
summary_json TEXT NOT NULL,
|
|
CHECK (source_last_seq >= 1),
|
|
CHECK (status IN (
|
|
'submitted',
|
|
'pending',
|
|
'runnable',
|
|
'starting',
|
|
'running',
|
|
'blocked',
|
|
'paused',
|
|
'removing',
|
|
'succeeded',
|
|
'failed',
|
|
'dead'
|
|
)),
|
|
CHECK (diff_files_changed >= 0),
|
|
CHECK (diff_additions >= 0),
|
|
CHECK (diff_deletions >= 0),
|
|
CHECK (input_tokens >= 0),
|
|
CHECK (output_tokens >= 0),
|
|
CHECK (reasoning_tokens >= 0),
|
|
CHECK (cache_read_tokens >= 0),
|
|
CHECK (cache_write_tokens >= 0),
|
|
CHECK (total_usd_micros IS NULL OR total_usd_micros >= 0),
|
|
CHECK (json_valid(summary_json))
|
|
);
|
|
|
|
CREATE INDEX runs_by_created_at ON runs(created_at_ms DESC, id DESC);
|
|
CREATE INDEX runs_by_updated_at ON runs(last_event_at_ms DESC, id DESC);
|
|
CREATE INDEX runs_by_status ON runs(archived_at_ms, status, last_event_at_ms DESC, id DESC);
|
|
CREATE INDEX runs_by_parent ON runs(parent_id, created_at_ms DESC, id DESC);
|
|
CREATE INDEX runs_by_automation ON runs(automation_id, created_at_ms DESC, id DESC);
|