Files
xinmi/migrations/versioned/000192_workbench.up.sql
yawan f7fc992f57
Anydoc / anydoc parser engine (push) Canceled after 0s
App / Format, vet, test, and build (push) Canceled after 0s
CLI / test (macos-latest / go 1.26) (push) Canceled after 0s
CLI / test (ubuntu-latest / go 1.26) (push) Canceled after 0s
CLI / test (windows-latest / go 1.26) (push) Canceled after 0s
Build and Push Docker Image / build-ui (push) Canceled after 0s
Build and Push Docker Image / build-docreader (push) Canceled after 0s
Build and Push Docker Image / build-sandbox (push) Canceled after 0s
Build and Push Docker Image / build-app (amd64, linux/amd64, ubuntu-latest) (push) Canceled after 0s
Build and Push Docker Image / build-app (arm64, linux/arm64, ubuntu-24.04-arm) (push) Canceled after 0s
DocReader / Python tests and Go client tests (push) Canceled after 0s
Build & Publish (dsh-weknora) / Typecheck, test, pack (push) Canceled after 0s
Build & Publish (dsh-weknora) / End-to-end inside dsh (pinned) (push) Canceled after 0s
Build & Publish (dsh-weknora) / End-to-end inside dsh (latest, advisory) (push) Canceled after 0s
Frontend / Test, type-check, and build (push) Canceled after 0s
Go Lint Cache / warm lint cache (.) (push) Canceled after 0s
Go Lint Cache / warm lint cache (cli) (push) Canceled after 0s
Go Lint Cache / warm lint cache (client) (push) Canceled after 0s
Build & Publish (mcp-server) / Test (Python 3.10) (push) Canceled after 0s
Build & Publish (mcp-server) / Test (Python 3.11) (push) Canceled after 0s
Build & Publish (mcp-server) / Test (Python 3.12) (push) Canceled after 0s
Build & Publish (mcp-server) / Test (Python 3.13) (push) Canceled after 0s
Build and Push Docker Image / merge (push) Canceled after 0s
Build & Publish (dsh-weknora) / Publish to npm (push) Canceled after 0s
Build & Publish (mcp-server) / Build sdist + wheel (push) Canceled after 0s
Build & Publish (mcp-server) / Publish to PyPI (push) Canceled after 0s
WeKnora deployment source with the reviewed wiki identity, summary and recovery fixes
2026-09-22 16:19:06 +08:00

56 lines
2.0 KiB
SQL

CREATE TABLE IF NOT EXISTS workbench_resources (
id varchar(36) NOT NULL,
tenant_id bigint NOT NULL,
owner_id varchar(36) NOT NULL,
owner_name varchar(255) NOT NULL DEFAULT '',
kind varchar(40) NOT NULL,
name varchar(200) NOT NULL,
status varchar(40) NOT NULL DEFAULT 'draft',
version integer NOT NULL DEFAULT 1,
data jsonb NOT NULL DEFAULT '{}'::jsonb,
created_at timestamptz NOT NULL DEFAULT now(),
updated_at timestamptz NOT NULL DEFAULT now(),
PRIMARY KEY (id)
);
CREATE INDEX IF NOT EXISTS wb_resource_scope ON workbench_resources(tenant_id,kind,owner_id);
CREATE TABLE IF NOT EXISTS workbench_revisions (
id varchar(36) PRIMARY KEY,
tenant_id bigint NOT NULL,
resource_id varchar(36) NOT NULL,
version integer NOT NULL,
actor_id varchar(36) NOT NULL,
data jsonb NOT NULL DEFAULT '{}'::jsonb,
created_at timestamptz NOT NULL DEFAULT now(),
UNIQUE(resource_id,version)
);
CREATE TABLE IF NOT EXISTS workbench_jobs (
id varchar(36) PRIMARY KEY,
tenant_id bigint NOT NULL,
owner_id varchar(36) NOT NULL,
resource_id varchar(36) NOT NULL,
kind varchar(40) NOT NULL,
action varchar(40) NOT NULL,
status varchar(20) NOT NULL DEFAULT 'queued',
progress integer NOT NULL DEFAULT 0,
stage varchar(200) NOT NULL DEFAULT '',
error text NOT NULL DEFAULT '',
request jsonb NOT NULL DEFAULT '{}'::jsonb,
lease_token varchar(36) NOT NULL DEFAULT '',
lease_until timestamptz,
created_at timestamptz NOT NULL DEFAULT now(),
updated_at timestamptz NOT NULL DEFAULT now()
);
CREATE INDEX IF NOT EXISTS wb_job_queue ON workbench_jobs(status,created_at);
CREATE TABLE IF NOT EXISTS workbench_events (
id varchar(36) PRIMARY KEY,
tenant_id bigint NOT NULL,
owner_id varchar(36) NOT NULL,
resource_id varchar(36) NOT NULL DEFAULT '',
action varchar(80) NOT NULL,
message text NOT NULL DEFAULT '',
level varchar(20) NOT NULL DEFAULT 'info',
read boolean NOT NULL DEFAULT false,
created_at timestamptz NOT NULL DEFAULT now()
);
CREATE INDEX IF NOT EXISTS wb_event_inbox ON workbench_events(tenant_id,owner_id,read,created_at);