chore(deploy): ESN 클린 재동기화 + Claude provider flip

- db/96_ai_provider_claude.sql 신설: esn_setting ai.provider 를 claude 로
  멱등 UPSERT(ON CONFLICT DO UPDATE) — 94 시드(ollama) 이후 활성화 스위치
- application.yml schema-locations 에 96 등재(95 이후, mode=always 재실행 안전)
- 키 미설정/실패 시 AiTextRouter 가 Ollama 자동 폴백 → 무중단·무회귀

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

View File

@ -32,6 +32,8 @@ spring:
- classpath:db/94_seed_ai_config.sql
# TOTP(OTP 2차 인증) — esn_user otp_enabled ALTER (멱등, otp_secret 은 91 에서 이미 추가)
- classpath:db/95_auth_otp.sql
# AI provider 를 Claude 로 flip(멱등 UPSERT) — 94 시드(ollama) 이후 활성화 스위치
- classpath:db/96_ai_provider_claude.sql
web:
resources:
static-locations: classpath:/static/

View File

@ -0,0 +1,22 @@
-- =====================================================================
-- GUARDiA ESN — 96. AI provider 를 Claude 로 전환(flip) — 멱등 UPSERT
-- 대상 DB : guardia_esn_db (테이블 esn_setting, PK=setting_key)
-- 적용 : application.yml spring.sql.init.schema-locations 에 본 파일을 94(시드) 이후 등재.
-- mode:always 재실행 안전(ON CONFLICT DO UPDATE — 항상 claude 로 수렴).
-- 설명 : db/94 시드는 ai.provider 기본값을 ollama 로 넣는다(ON CONFLICT DO NOTHING).
-- 본 파일은 그 위에서 provider 를 claude 로 flip 한다 — 코드 전환의 실제 활성화 스위치.
-- 행이 없으면 INSERT, 있으면 claude 로 UPDATE(=UPSERT). claude.model 은 미변경(기본 sonnet-4-6 유지).
-- 폴백 : provider=claude 라도 ANTHROPIC_API_KEY 미설정/호출 실패 시 AiTextRouter 가
-- Ollama(온프레미스)로 자동 폴백 → 서비스 무중단·무회귀. flip 은 활성화일 뿐 강제 아님.
-- 보안 : 키/시크릿/IP/비밀번호 일절 미포함(키는 서버 env ANTHROPIC_API_KEY 로만 주입).
-- =====================================================================
SET client_encoding = 'UTF8';
INSERT INTO esn_setting (setting_key, setting_value, category, description) VALUES
('ai.provider', 'claude', 'AI', 'LLM provider(ollama/claude/qwen3/deepseek/glm)')
ON CONFLICT (setting_key) DO UPDATE
SET setting_value = 'claude',
updated_at = NOW();
-- end 96_ai_provider_claude.sql