You've already forked agentic-coding-workflow
24 lines
1.6 KiB
SQL
24 lines
1.6 KiB
SQL
-- ============ Workspace Run Profiles ============
|
|
-- 每个 workspace 下可配置多个运行档(dev/prod/test)。后端把每个 profile
|
|
-- 作为长驻进程拉起;运行态(running/stopped/crashed)在 RunSupervisor 内存中维护,
|
|
-- 不落库。下列三个 last_* 字段仅记录最近一次运行的历史,供前端展示与排障。
|
|
CREATE TABLE workspace_run_profiles (
|
|
id UUID PRIMARY KEY,
|
|
workspace_id UUID NOT NULL REFERENCES workspaces(id) ON DELETE CASCADE,
|
|
slug TEXT NOT NULL,
|
|
name TEXT NOT NULL,
|
|
description TEXT NOT NULL DEFAULT '',
|
|
command TEXT NOT NULL, -- 启动命令(exec 的 argv[0] 或 shell -c 串)
|
|
args TEXT[] NOT NULL DEFAULT '{}', -- 额外参数
|
|
encrypted_env BYTEA, -- AES-GCM 密文(profile env 覆盖,map[string]string 的 JSON)
|
|
enabled BOOLEAN NOT NULL DEFAULT TRUE,
|
|
last_started_at TIMESTAMPTZ, -- 最近一次 start 时间
|
|
last_exit_code INTEGER, -- 最近一次退出码(NULL=从未退出/从未运行)
|
|
last_error TEXT NOT NULL DEFAULT '', -- 最近一次 stderr 尾部 / 启动错误
|
|
created_by UUID NOT NULL REFERENCES users(id) ON DELETE RESTRICT,
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
|
updated_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
|
UNIQUE (workspace_id, slug)
|
|
);
|
|
CREATE INDEX idx_run_profiles_workspace ON workspace_run_profiles(workspace_id);
|