31 lines
2.4 KiB
SQL
31 lines
2.4 KiB
SQL
-- 기존 DB 보정 — card.nego_cards / card.wild_cards 의 카드 개편 컬럼 보강(King 배포 안전용).
|
|
-- 신규 DB 는 init.sql 의 테이블 정의에 이미 포함되어 있어 이 파일이 필요 없다(멱등이라 실행해도 무해).
|
|
--
|
|
-- 배경: 이 컬럼들은 init.sql 의 CREATE TABLE 에만 정의돼 있고 ALTER 커버리지가 없었다.
|
|
-- CREATE TABLE IF NOT EXISTS 는 기존 테이블에 컬럼을 추가하지 못하므로, 카드 테이블이
|
|
-- 이 컬럼들보다 먼저 생성된 (오래된) DB 에는 컬럼이 누락돼 있을 수 있다.
|
|
-- 현재 코드가 이 컬럼들에 의존한다:
|
|
-- - agent 표현층(ScriptNaturalizer)이 nego_cards.tone/strategy_type 를 읽음
|
|
-- - negodata 카드 편집기가 edit_script(Slate JSON, 조건 전략 내용 포함)·tone·strategy_type 을 저장
|
|
-- - 카드 전술(WC) 이 wild_cards.script 를 읽음(script 는 기준선부터 존재 → 여기선 개편 컬럼만 보강)
|
|
-- 적용: psql -h <host> -p <port> -U <user> -f postgres-init/alters/2026-07-10-card-columns.sql
|
|
|
|
\connect negosium_db
|
|
|
|
-- 협상 카드(card.nego_cards) — 편집본 JSON · 용도 · 톤 · 전략
|
|
ALTER TABLE card.nego_cards
|
|
ADD COLUMN IF NOT EXISTS edit_script JSONB NULL, -- 편집된 스크립트(Slate JSON, 재편집·조건 전략 내용 보관)
|
|
ADD COLUMN IF NOT EXISTS usage_type SMALLINT NOT NULL DEFAULT 1, -- CardUsageType: 1=공통 2=신규견적전용 3=재견적전용
|
|
ADD COLUMN IF NOT EXISTS tone SMALLINT NULL, -- CardTone: 1=강경 2=정중 3=우호 4=중립 5=단호
|
|
ADD COLUMN IF NOT EXISTS strategy_type SMALLINT NULL; -- CardStrategyType: 1=경쟁 2=수용 3=고수 4=협력 5=선점 6=종결
|
|
|
|
-- 와일드 카드(card.wild_cards) — 위 + 세부조항(condition/available/memo)
|
|
ALTER TABLE card.wild_cards
|
|
ADD COLUMN IF NOT EXISTS edit_script JSONB NULL,
|
|
ADD COLUMN IF NOT EXISTS usage_type SMALLINT NOT NULL DEFAULT 1,
|
|
ADD COLUMN IF NOT EXISTS tone SMALLINT NULL,
|
|
ADD COLUMN IF NOT EXISTS strategy_type SMALLINT NULL,
|
|
ADD COLUMN IF NOT EXISTS condition VARCHAR(255) NULL, -- 커스텀 와일드카드 상세 조건
|
|
ADD COLUMN IF NOT EXISTS available BOOLEAN NOT NULL DEFAULT FALSE, -- 수동 활성화 여부
|
|
ADD COLUMN IF NOT EXISTS memo VARCHAR(255) NULL; -- 자유 메모
|