19 lines
898 B
SQL
19 lines
898 B
SQL
|
|
CREATE TABLE generation_tasks (
|
||
|
|
id BIGSERIAL PRIMARY KEY,
|
||
|
|
tenant_id BIGINT NOT NULL REFERENCES tenants(id),
|
||
|
|
article_id BIGINT REFERENCES articles(id),
|
||
|
|
task_batch_id VARCHAR(100),
|
||
|
|
quota_reservation_id BIGINT REFERENCES quota_reservations(id),
|
||
|
|
task_type VARCHAR(50) NOT NULL,
|
||
|
|
request_hash VARCHAR(64),
|
||
|
|
input_params_json JSONB,
|
||
|
|
status VARCHAR(20) NOT NULL DEFAULT 'queued',
|
||
|
|
error_message TEXT,
|
||
|
|
started_at TIMESTAMPTZ,
|
||
|
|
completed_at TIMESTAMPTZ,
|
||
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||
|
|
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
||
|
|
);
|
||
|
|
CREATE INDEX idx_generation_task_status_created ON generation_tasks(status, created_at);
|
||
|
|
CREATE INDEX idx_generation_task_tenant ON generation_tasks(tenant_id, created_at DESC);
|