Spaces:
Sleeping
Sleeping
File size: 1,542 Bytes
aa9892b | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | -- 023_user_last_seen_per_platform.sql
-- ํ๋ซํผ๋ณ ์ต๊ทผ ์ ์ ์๊ฐ ์ปฌ๋ผ ์ถ๊ฐ (web / iOS / Android).
--
-- ๊ธฐ์กด last_seen_at ์ "๋ง์ง๋ง ์ ์ (์ ์ฒด)" ์ผ๋ก ์ ์ง. ํ๋ซํผ๋ณ ์ปฌ๋ผ์
-- session_tracker ๊ฐ X-Client-Platform ํค๋ ๋๋ user-agent ํด๋ฆฌ์คํฑ์ผ๋ก
-- ๋ถ๋ฅํด ํด๋น ์ปฌ๋ผ๋ง ๊ฐฑ์ ํ๋ค. admin ์ฌ์ฉ์ ๋ชฉ๋ก์์ ์ฑ๋๋ณ ํ์ฑ๋ ํ์ธ์ฉ.
ALTER TABLE public.users
ADD COLUMN IF NOT EXISTS last_seen_web_at TIMESTAMPTZ,
ADD COLUMN IF NOT EXISTS last_seen_ios_at TIMESTAMPTZ,
ADD COLUMN IF NOT EXISTS last_seen_android_at TIMESTAMPTZ;
-- ์ ๋ ฌ/ํํฐ ์ธ๋ฑ์ค (admin UI ๊ฐ ํ๋ซํผ๋ณ ์ต๊ทผ ์ ์ ์ ๋ ฌํ ์ ์๋๋ก)
CREATE INDEX IF NOT EXISTS idx_users_last_seen_web ON public.users (last_seen_web_at DESC NULLS LAST);
CREATE INDEX IF NOT EXISTS idx_users_last_seen_ios ON public.users (last_seen_ios_at DESC NULLS LAST);
CREATE INDEX IF NOT EXISTS idx_users_last_seen_android ON public.users (last_seen_android_at DESC NULLS LAST);
COMMENT ON COLUMN public.users.last_seen_web_at IS '์น(๋ธ๋ผ์ฐ์ ) ์ฑ๋ ์ต๊ทผ ์ ์ ์๊ฐ โ session_tracker ๊ฐ X-Client-Platform=web ๋๋ UA Mozilla/* ๋งค์นญ ์ ๊ฐฑ์ .';
COMMENT ON COLUMN public.users.last_seen_ios_at IS 'iOS ๋ค์ดํฐ๋ธ ์ฑ ์ต๊ทผ ์ ์ ์๊ฐ โ X-Client-Platform=ios ๋๋ UA ์ Darwin/CFNetwork ๋งค์นญ ์.';
COMMENT ON COLUMN public.users.last_seen_android_at IS 'Android ๋ค์ดํฐ๋ธ ์ฑ ์ต๊ทผ ์ ์ ์๊ฐ โ X-Client-Platform=android ๋๋ UA ์ okhttp/Android ๋งค์นญ ์.';
|