talk / backend /sql /044_timeline_item_schedule.sql
user
Deploy StyleVoiceChat backend
aa9892b
Raw History Blame Contribute Delete
2.19 kB
-- 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=๋งค ๋ฐ”ํ€ด.';