Files

22 lines
1.8 KiB
SQL
Raw Permalink Normal View History

ALTER TABLE knowledge_bases ADD COLUMN IF NOT EXISTS version_state varchar(32) NOT NULL DEFAULT '';
ALTER TABLE workbench_resource_forks ADD COLUMN IF NOT EXISTS status varchar(32) NOT NULL DEFAULT 'ready';
ALTER TABLE workbench_resource_submissions ADD COLUMN IF NOT EXISTS snapshot_id varchar(36) NOT NULL DEFAULT '';
ALTER TABLE workbench_resource_submissions ADD COLUMN IF NOT EXISTS published_id varchar(36) NOT NULL DEFAULT '';
CREATE TABLE IF NOT EXISTS workbench_knowledge_version_jobs (
id varchar(36) PRIMARY KEY, tenant_id bigint NOT NULL, owner_id varchar(36) NOT NULL,
fork_id varchar(36) NOT NULL REFERENCES workbench_resource_forks(id),
submission_id varchar(36) NOT NULL DEFAULT '', purpose varchar(16) NOT NULL,
source_id varchar(36) NOT NULL, target_id varchar(36) NOT NULL, expected_hash varchar(64) NOT NULL,
status varchar(16) NOT NULL, processed integer NOT NULL DEFAULT 0, total integer NOT NULL DEFAULT 0,
attempts integer NOT NULL DEFAULT 0, error text NOT NULL DEFAULT '', lease_token varchar(36) NOT NULL DEFAULT '',
lease_until timestamptz, abandoned_ids jsonb NOT NULL DEFAULT '[]',
created_at timestamptz NOT NULL DEFAULT now(), updated_at timestamptz NOT NULL DEFAULT now()
);
CREATE INDEX IF NOT EXISTS knowledge_version_job_claim ON workbench_knowledge_version_jobs(status,lease_until,created_at);
CREATE INDEX IF NOT EXISTS knowledge_version_job_owner ON workbench_knowledge_version_jobs(tenant_id,owner_id,created_at);
CREATE TABLE IF NOT EXISTS workbench_knowledge_version_aliases (
tenant_id bigint NOT NULL, source_id varchar(36) NOT NULL, current_id varchar(36) NOT NULL,
updated_at timestamptz NOT NULL DEFAULT now(), PRIMARY KEY(tenant_id,source_id)
);
CREATE INDEX IF NOT EXISTS knowledge_version_alias_current ON workbench_knowledge_version_aliases(tenant_id,current_id);