feat(db): add chat_turns idempotency table
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
committed by
weichen
co-authored by
Cursor
parent
62ab734021
commit
c887bc0480
@@ -121,6 +121,29 @@ CREATE INDEX IF NOT EXISTS idx_chat_messages_sid_category ON chat_messages(sessi
|
||||
CREATE EXTENSION IF NOT EXISTS pg_trgm;
|
||||
CREATE INDEX IF NOT EXISTS idx_chat_messages_content_trgm ON chat_messages USING GIN (content gin_trgm_ops);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS chat_turns (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
session_id TEXT NOT NULL,
|
||||
client_turn_id TEXT NOT NULL,
|
||||
user_id BIGINT,
|
||||
project_id BIGINT,
|
||||
user_message_id BIGINT REFERENCES chat_messages(id) ON DELETE SET NULL,
|
||||
assistant_message_id BIGINT REFERENCES chat_messages(id) ON DELETE SET NULL,
|
||||
request_body_sha256 TEXT NOT NULL DEFAULT '',
|
||||
status TEXT NOT NULL DEFAULT 'accepted',
|
||||
owner_token TEXT NOT NULL DEFAULT '',
|
||||
lease_expires_at TIMESTAMPTZ,
|
||||
first_request_id TEXT NOT NULL DEFAULT '',
|
||||
last_request_id TEXT NOT NULL DEFAULT '',
|
||||
attempt_count INT NOT NULL DEFAULT 1,
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
||||
updated_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
||||
completed_at TIMESTAMPTZ,
|
||||
CONSTRAINT uq_chat_turns_session_client UNIQUE (session_id, client_turn_id)
|
||||
);
|
||||
CREATE INDEX IF NOT EXISTS idx_chat_turns_session_status ON chat_turns(session_id, status);
|
||||
CREATE INDEX IF NOT EXISTS idx_chat_turns_client ON chat_turns(client_turn_id);
|
||||
|
||||
-- 4.1 每日智能摘要表 (Daily Digests)
|
||||
CREATE TABLE IF NOT EXISTS chat_daily_digests (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
|
||||
Reference in New Issue
Block a user