19 lines
868 B
SQL
19 lines
868 B
SQL
-- ==============================================================================
|
|
-- 迁移脚本: chat_read_positions 双轨制未读标记与已读位点管理表
|
|
-- 日期: 2026-09-11
|
|
-- 描述:
|
|
-- 支持连续已读基线 (last_read_message_id) 与离散倒序消费补丁集合 (dismissed_unread_ids)
|
|
-- ==============================================================================
|
|
|
|
CREATE TABLE IF NOT EXISTS chat_read_positions (
|
|
session_id VARCHAR(64) NOT NULL,
|
|
user_id BIGINT NOT NULL,
|
|
last_read_message_id BIGINT NOT NULL DEFAULT 0,
|
|
dismissed_unread_ids BIGINT[] NOT NULL DEFAULT '{}',
|
|
updated_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (session_id, user_id)
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_chat_read_positions_session_user
|
|
ON chat_read_positions (session_id, user_id);
|