Spaces:
Sleeping
Sleeping
File size: 2,191 Bytes
aa9892b | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | -- 044_timeline_item_schedule.sql
-- ์นดํ "๋งค์ฅ ๋ชจ๋" โ ๋ฉํธ/์ค์๊ฐ ํญ๋ชฉ์ ๋
ธ์ถ์๊ฐ(time window) + ๋
ธ์ถ๊ฐ๊ฒฉ(interval).
--
-- ๋งค์ฅ ๋ชจ๋๋ ํธ์ฑํ๋ฅผ ํ์ ๊น์ง ๋ฌดํ ๋ฐ๋ณตํ๋ค. ์ธ์ฌ("์ข์ ์์นจ์
๋๋ค")๊ฐ ์คํ์๋
-- ๋ฐ๋ณต๋๊ฑฐ๋ ๋ ์จ/๋ด์ค๊ฐ ๋งค ๋ฐํด ๋์ค๋ ๊ฒ์ ๋ง๊ธฐ ์ํด, ํญ๋ชฉ๋ณ๋ก
-- ยท ๋
ธ์ถ์๊ฐ: ์์ ๊ธฐ์ค ๋ถ(0~1439) ์์/์ข
๋ฃ. ํ์ฌ ์๊ฐ์ด ์ฐฝ ๋ฐ์ด๋ฉด ๊ทธ ๋ฐํด ์คํต.
-- ยท ๋
ธ์ถ๊ฐ๊ฒฉ: ์ต์ ์ฌ์ ๊ฐ๊ฒฉ(๋ถ). ๋ง์ง๋ง ์ฌ์ ํ N๋ถ ๋ฏธ๊ฒฝ๊ณผ๋ฉด ์คํต.
-- ์ ๋๋ค. tts_ment ์ realtime_weather/realtime_news ์๋ง ์๋ฏธ๊ฐ ์๋ค(bgm ์ ํญ์).
--
-- โโ CHECK ์ ์ฝ ํจ์ (2026-05-27 ๋ฐ์ดํฐ ์์ค ์ฌ๊ณ ์ฌ๋ฐ ๋ฐฉ์ง): sql/043 ์์
-- item_type CHECK ์ ์ ํ์
์ถ๊ฐ ๋ง์ด๊ทธ๋ ์ด์
์ ๋น ๋จ๋ ค, update_timeline ์
-- ๋น-ํธ๋์ญ์
deleteโinsert ๊ฐ CHECK ์๋ฐ์ผ๋ก ํญ๋ชฉ์ ํต์งธ ์์๋ค. ์ด๋ฒ์ CHECK ๋ฅผ
-- ์ผ์ ์ถ๊ฐํ์ง ์๋๋ค โ ์ ๋ถ nullable ์ปฌ๋ผ๋ง. null = "์ ํ ์์"(๊ธฐ์กด ๋์).
--
-- ์ ์ฉ: Supabase SQL Editor ์์ ์คํ. ๋ฏธ์ ์ฉ ์ ์ ๊ท ์ปฌ๋ผ์ด ์์ ๋ฟ โ ๋ฐฑ์๋๋
-- ๊ฐ์ด ์์ ๋๋ง ์ปฌ๋ผ์ insert ํ๋ฏ๋ก, ์ผ์ ๋ฏธ์ค์ ํญ๋ชฉ ์ ์ฅ/์ฌ์์ ์ํฅ ์์(์์ค 0).
-- ์ฌ์คํ ๋ฌดํด(IF NOT EXISTS).
ALTER TABLE public.timeline_items
ADD COLUMN IF NOT EXISTS play_start_min smallint, -- ์์ ๊ธฐ์ค ๋ถ(0~1439), null=์ ํ์์
ADD COLUMN IF NOT EXISTS play_end_min smallint, -- ์์ ๊ธฐ์ค ๋ถ(0~1439), null=์ ํ์์
ADD COLUMN IF NOT EXISTS play_interval_min smallint; -- ์ต์ ์ฌ์ ๊ฐ๊ฒฉ(๋ถ), null=๋งค ๋ฐํด
COMMENT ON COLUMN public.timeline_items.play_start_min IS
'๋งค์ฅ ๋ชจ๋ ๋
ธ์ถ์๊ฐ ์์(์์ ๊ธฐ์ค ๋ถ 0~1439). null=์ ํ์์. play_end_min ๊ณผ ์.';
COMMENT ON COLUMN public.timeline_items.play_end_min IS
'๋งค์ฅ ๋ชจ๋ ๋
ธ์ถ์๊ฐ ์ข
๋ฃ(์์ ๊ธฐ์ค ๋ถ 0~1439). start>end ๋ฉด ์์ ๋๊น(์ 22:00~02:00).';
COMMENT ON COLUMN public.timeline_items.play_interval_min IS
'๋งค์ฅ ๋ชจ๋ ์ต์ ์ฌ์ ๊ฐ๊ฒฉ(๋ถ). ๋ง์ง๋ง ์ฌ์ ํ N๋ถ ๋ฏธ๊ฒฝ๊ณผ๋ฉด ์คํต. null=๋งค ๋ฐํด.';
|