24 lines
1008 B
SQL
24 lines
1008 B
SQL
-- mini-openclaw 兴邦对公业务演示库:时间追踪扩展
|
|||
|
|
-- 主业务对象继续使用 assistant_objects 的版本化 JSON 合同;本表用于可统计的阶段事件。
|
||
|
|
CREATE TABLE IF NOT EXISTS business_time_events (
|
||
|
|
id TEXT PRIMARY KEY,
|
||
|
|
project_id TEXT NOT NULL,
|
||
|
|
phase_code TEXT NOT NULL,
|
||
|
|
phase_name TEXT NOT NULL,
|
||
|
|
role TEXT NOT NULL CHECK (role IN ('manager', 'reviewer', 'admin', 'system')),
|
||
|
|
category TEXT NOT NULL CHECK (category IN ('active', 'queue', 'external_wait', 'system')),
|
||
|
|
status TEXT NOT NULL CHECK (status IN ('running', 'completed', 'cancelled')),
|
||
|
|
started_at TEXT NOT NULL,
|
||
|
|
ended_at TEXT,
|
||
|
|
actor_id TEXT NOT NULL,
|
||
|
|
source_type TEXT NOT NULL,
|
||
|
|
source_id TEXT NOT NULL,
|
||
|
|
detail TEXT NOT NULL DEFAULT '{}'
|
||
|
|
);
|
||
|
|
|
||
|
|
CREATE INDEX IF NOT EXISTS business_time_project_started
|
||
|
|
ON business_time_events(project_id, started_at);
|
||
|
|
|
||
|
|
CREATE INDEX IF NOT EXISTS business_time_role_phase
|
||
|
|
ON business_time_events(role, phase_code, started_at);
|