Files
landingpage_ljn/migrations/20260825025042_visitor-stats.sql
T
2026-08-25 10:56:46 +07:00

28 lines
676 B
PL/PgSQL

CREATE TABLE IF NOT EXISTS public.visitor_stats (
id text PRIMARY KEY,
count bigint NOT NULL DEFAULT 0
);
INSERT INTO public.visitor_stats (id, count)
VALUES ('global', 0)
ON CONFLICT (id) DO NOTHING;
CREATE OR REPLACE FUNCTION public.increment_visitor()
RETURNS bigint
LANGUAGE sql
AS $$
UPDATE public.visitor_stats
SET count = count + 1
WHERE id = 'global'
RETURNING count;
$$;
ALTER TABLE public.visitor_stats ENABLE ROW LEVEL SECURITY;
CREATE POLICY visitor_stats_select ON public.visitor_stats
FOR SELECT TO anon
USING (true);
GRANT SELECT ON public.visitor_stats TO anon;
GRANT EXECUTE ON FUNCTION public.increment_visitor() TO anon, authenticated;