chore(deploy): zioinfo-esn 클린 재동기화 + Claude provider flip

- db/105_ai_provider_claude.sql: esn_setting ai.provider ollama->claude UPSERT(멱등)
- application.yml: schema-locations 에 105 등재(104 시드 이후, mode=always)
- 무회귀: 키 미설정/실패 시 AiTextRouter 자동 Ollama 폴백(isClaudeActive=false)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
DESKTOP-TKLFCPR\ython 2026-07-11 10:50:56 +09:00
parent d566edd9d6
commit b7f4e81c4d
2 changed files with 20 additions and 0 deletions

View File

@ -25,6 +25,7 @@ spring:
- classpath:db/91_uiws_port.sql
- classpath:db/93_auth_otp.sql
- classpath:db/104_seed_ai_config.sql
- classpath:db/105_ai_provider_claude.sql
web:
resources:
static-locations: classpath:/static/

View File

@ -0,0 +1,19 @@
-- =====================================================================
-- zioinfo-esn — 105. AI provider 를 claude 로 flip (멱등 UPSERT)
-- 대상 DB : esn_db · 설정 테이블 : esn_setting(key PK / value)
-- 적용 : application.yml spring.sql.init.schema-locations 에 104(시드) 이후 등재, mode=always.
-- 목적 : db/104 시드 기본값 ai.provider='ollama' → 'claude' 로 활성화(런타임 실효 스위치).
-- UIWS db/202_ai_provider_claude.sql 대응본(솔루션 채번 규칙 105).
-- 방식 : UPSERT — 행 존재 시 value 갱신, 미존재(시드 전) 시 삽입. 재실행 안전(멱등).
-- SettingMapper.upsert 와 동일한 ON CONFLICT (key) DO UPDATE 패턴.
-- 무회귀 : Claude 키 미설정/실패 시 AiTextRouter 가 자동 Ollama 폴백(isClaudeActive=false).
-- 키는 서버 환경변수 ANTHROPIC_API_KEY 로만 주입 — 본 파일에 키/시크릿/IP 일절 미포함.
-- =====================================================================
SET client_encoding = 'UTF8';
INSERT INTO esn_setting (key, value) VALUES
('ai.provider', 'claude')
ON CONFLICT (key) DO UPDATE SET value = EXCLUDED.value;
-- end 105_ai_provider_claude.sql