Files

23 lines
944 B
SQL
Raw Permalink Normal View History

-- +goose Up
-- Фаза 7: кэш серверных превью ссылок (unfurl).
--
-- Ключ — sha256 (hex) от нормализованного URL: сам URL длинный и с query,
-- а сравнивать нужно каноническую форму (internal/unfurl.Normalize).
-- status: ok | empty | blocked | error. Истёкшие записи не отдаются
-- (expires_at > now) и удаляются фоновой уборкой.
CREATE TABLE link_previews (
url_hash TEXT PRIMARY KEY,
url TEXT NOT NULL,
title TEXT NOT NULL DEFAULT '',
description TEXT NOT NULL DEFAULT '',
site_name TEXT NOT NULL DEFAULT '',
image_url TEXT NOT NULL DEFAULT '',
status TEXT NOT NULL,
fetched_at TEXT NOT NULL,
expires_at TEXT NOT NULL
);
CREATE INDEX link_previews_expires_idx ON link_previews (expires_at);
-- +goose Down
DROP TABLE link_previews;