30 lines
1.5 KiB
SQL
30 lines
1.5 KiB
SQL
-- 0011 · LLM 여행 일정 저장 표
|
|
--
|
|
-- 일정은 지금까지 저장하지 않고 빌드마다 즉석 계산했다(services/itinerary.py).
|
|
-- LLM 생성으로 바꾸면서 호출이 건당 20~50초·유료가 되어 매 빌드 재생성이 불가능하다 —
|
|
-- 업장·기간당 한 번 만들어 두고 그대로 쓴다.
|
|
-- ★ area_contents 에 넣지 않는다: 그 표의 유일성 근거는 지역·출처 기준이고 이 값은 업장에 붙는다.
|
|
--
|
|
-- ★ 0010 을 비워 두고 0011 로 붙였다. 같은 시기 FAQ 작업 브랜치가 0009 를 이미 썼고
|
|
-- (dev DB 의 schema_migrations 에 0009_faq_catalog_columns 가 기록돼 있다) 합칠 때
|
|
-- 번호가 부딪히지 않게 여지를 남긴 것이다.
|
|
|
|
CREATE TABLE IF NOT EXISTS public.place_itineraries (
|
|
place_itinerary_id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
place_id uuid NOT NULL,
|
|
duration VARCHAR(20) NOT NULL,
|
|
body JSONB NOT NULL,
|
|
generated_by SMALLINT NOT NULL,
|
|
model VARCHAR(100) NULL,
|
|
generated_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
|
updated_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
|
deleted BOOLEAN NOT NULL DEFAULT FALSE
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS ix_place_itineraries_place ON public.place_itineraries (place_id);
|
|
|
|
CREATE UNIQUE INDEX IF NOT EXISTS uq_place_itineraries
|
|
ON public.place_itineraries (place_id, duration)
|
|
WHERE deleted = FALSE;
|