30 lines
1.6 KiB
SQL
30 lines
1.6 KiB
SQL
-- 0010 · LLM 여행 일정 저장 표
|
|
--
|
|
-- 일정은 지금까지 저장하지 않고 빌드마다 즉석 계산했다(services/itinerary.py).
|
|
-- LLM 생성으로 바꾸면서 호출이 건당 20~50초·유료가 되어 매 빌드 재생성이 불가능하다 —
|
|
-- 업장·기간당 한 번 만들어 두고 그대로 쓴다.
|
|
-- ★ area_contents 에 넣지 않는다: 그 표의 유일성 근거는 지역·출처 기준이고 이 값은 업장에 붙는다.
|
|
--
|
|
-- ★ 2026-09-11 기준 dev DB 에는 아직 적용하지 않았다. 그 DB 의 schema_migrations 에는
|
|
-- 다른 브랜치의 0009_faq_catalog_columns 가 기록돼 있어, migrate.py 가 이 브랜치의
|
|
-- 0009_align_with_init_sql 까지 함께 적용하려 든다 — 번호 정리가 먼저다.
|
|
|
|
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;
|