Files
spsays-bff/migrations/0044_create_vani_of_the_day.up.sql
T
2026-07-11 00:31:22 +05:30

21 lines
995 B
SQL

-- "Vāṇī of the Day" — one randomly-chosen piece of content (a prose chapter,
-- a verse, or a transcript/lecture) surfaced on the home page each day.
--
-- One row per calendar day (UTC). The pick is chosen once — the first request
-- of the day writes it and everyone sees the same item that day. `ref_id`
-- (`<kind>:<mongo _id hex>`) identifies the underlying content so the picker
-- can avoid repeating anything served in the last 90 days. `payload` is the
-- prebuilt display blob (title/subtitle/href/…) so the CTA renders without
-- re-reading Mongo.
CREATE TABLE IF NOT EXISTS vani_of_the_day (
day DATE PRIMARY KEY,
kind TEXT NOT NULL,
ref_id TEXT NOT NULL,
payload JSONB NOT NULL,
created_at TIMESTAMPTZ NOT NULL DEFAULT now()
);
-- Serves the "not in the last 90 days" lookup (scan recent rows by ref_id).
CREATE INDEX IF NOT EXISTS vani_of_the_day_ref_day_idx
ON vani_of_the_day (ref_id, day DESC);