From b7f4e81c4d7f8414a0f51d3e7a5c049fdc837d6a Mon Sep 17 00:00:00 2001 From: "DESKTOP-TKLFCPR\\ython" Date: Sat, 11 Jul 2026 10:50:56 +0900 Subject: [PATCH] =?UTF-8?q?chore(deploy):=20zioinfo-esn=20=ED=81=B4?= =?UTF-8?q?=EB=A6=B0=20=EC=9E=AC=EB=8F=99=EA=B8=B0=ED=99=94=20+=20Claude?= =?UTF-8?q?=20provider=20flip?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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) --- backend/src/main/resources/application.yml | 1 + .../resources/db/105_ai_provider_claude.sql | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 backend/src/main/resources/db/105_ai_provider_claude.sql diff --git a/backend/src/main/resources/application.yml b/backend/src/main/resources/application.yml index fc1bf63..660f2b8 100644 --- a/backend/src/main/resources/application.yml +++ b/backend/src/main/resources/application.yml @@ -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/ diff --git a/backend/src/main/resources/db/105_ai_provider_claude.sql b/backend/src/main/resources/db/105_ai_provider_claude.sql new file mode 100644 index 0000000..f191272 --- /dev/null +++ b/backend/src/main/resources/db/105_ai_provider_claude.sql @@ -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