27 lines
1.2 KiB
SQL
27 lines
1.2 KiB
SQL
CREATE TABLE IF NOT EXISTS wiki_recovery_budgets (
|
|||
|
|
tenant_id BIGINT NOT NULL,
|
||
|
|
dead_letter_id BIGINT NOT NULL,
|
||
|
|
attempt_number INTEGER NOT NULL,
|
||
|
|
pending_op_id BIGINT NOT NULL,
|
||
|
|
knowledge_base_id VARCHAR(36) NOT NULL,
|
||
|
|
knowledge_id VARCHAR(36) NOT NULL,
|
||
|
|
model_id VARCHAR(36) NOT NULL,
|
||
|
|
embedding_model_id VARCHAR(36) NOT NULL DEFAULT '',
|
||
|
|
source_fingerprint VARCHAR(64) NOT NULL,
|
||
|
|
model_fingerprint VARCHAR(64) NOT NULL,
|
||
|
|
reviewed_release VARCHAR(255) NOT NULL,
|
||
|
|
reviewed_api_image VARCHAR(255) NOT NULL,
|
||
|
|
max_provider_requests BIGINT NOT NULL CHECK (max_provider_requests > 0),
|
||
|
|
reserved_provider_requests BIGINT NOT NULL DEFAULT 0 CHECK (reserved_provider_requests >= 0 AND reserved_provider_requests <= max_provider_requests),
|
||
|
|
deadline_at TIMESTAMPTZ NOT NULL,
|
||
|
|
status VARCHAR(32) NOT NULL DEFAULT 'active',
|
||
|
|
stop_reason VARCHAR(128) NOT NULL DEFAULT '',
|
||
|
|
last_phase VARCHAR(64) NOT NULL DEFAULT '',
|
||
|
|
paused_payload TEXT NOT NULL,
|
||
|
|
verified_progress TEXT NOT NULL,
|
||
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||
|
|
updated_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||
|
|
PRIMARY KEY (tenant_id, dead_letter_id, attempt_number, pending_op_id),
|
||
|
|
UNIQUE (tenant_id, pending_op_id)
|
||
|
|
);
|