chore(deploy): FA 클린 재동기화 + Claude provider 전환
- db/105_ai_provider_claude.sql: fa_setting ai.provider ollama->claude 멱등 UPSERT - setup_fa_service.sh: 104 시드 + 105 flip psql 등재(멱등) - provider 결정 경로: AiTextRouter -> AiConfigService.isClaudeActive -> fa_setting.ai.provider - 무회귀: 키 미설정/실패 시 AiTextRouter Ollama 자동 폴백
This commit is contained in:
parent
8515e59088
commit
16ad654cbe
27
backend/src/main/resources/db/105_ai_provider_claude.sql
Normal file
27
backend/src/main/resources/db/105_ai_provider_claude.sql
Normal file
@ -0,0 +1,27 @@
|
||||
-- =====================================================================
|
||||
-- GUARDiA FA — 105. AI provider 전환: ollama → claude (멱등 UPSERT)
|
||||
-- 대상 DB : fa_db (테이블 fa_setting, PK=setting_key, 값컬럼=setting_value)
|
||||
-- 적용 : FA 는 spring.sql.init 미사용(schema.sql 은 setup/psql 수동 적용) →
|
||||
-- 운영 psql 로 실행하거나 setup_fa_service.sh 에 등재(schema.sql·104 다음).
|
||||
-- 재실행 안전(멱등).
|
||||
-- 설명 : 기본 provider(ollama)를 Claude(Anthropic)로 flip 한다. 이것이 코드 전환
|
||||
-- (AiTextRouter → AiConfigService.isClaudeActive)을 런타임에 실제 활성화하는 스위치.
|
||||
-- 104(시드)는 ON CONFLICT DO NOTHING 이라 기존 'ollama' 행을 덮지 못하므로,
|
||||
-- 본 파일에서 명시적 UPSERT(DO UPDATE)로 provider='claude' 를 강제한다.
|
||||
-- 런타임 provider 는 fa_setting.'ai.provider' 단일 출처(AiConfigService.provider()).
|
||||
-- AiConfigService.isClaudeActive() = provider=claude · ANTHROPIC_API_KEY 설정됨 · ai.enabled.
|
||||
-- 무회귀 : provider=claude 라도 키 미설정/Claude 실패 시 AiTextRouter 가 Ollama 자동 폴백(무중단).
|
||||
-- 재기동 불필요 — 다음 AI 호출부터 반영(AiConfigService 가 DB 를 매 호출 조회).
|
||||
-- 보안 : Claude API 키는 DB 에 저장/기재하지 않는다 — 서버 env ANTHROPIC_API_KEY 로만 주입.
|
||||
-- 본 파일에 키/시크릿/IP/비밀번호 일절 미포함.
|
||||
-- 롤백 : UPDATE fa_setting SET setting_value='ollama' WHERE setting_key='ai.provider'; (Ollama 재가동 시)
|
||||
-- =====================================================================
|
||||
|
||||
SET client_encoding = 'UTF8';
|
||||
|
||||
INSERT INTO fa_setting (setting_key, setting_value, updated_at)
|
||||
VALUES ('ai.provider', 'claude', NOW())
|
||||
ON CONFLICT (setting_key)
|
||||
DO UPDATE SET setting_value = 'claude', updated_at = NOW();
|
||||
|
||||
-- end 105_ai_provider_claude.sql
|
||||
@ -18,6 +18,9 @@ echo "PostgreSQL DB 생성 중..."
|
||||
sudo -u postgres psql -c "CREATE USER ${DB_USER} WITH PASSWORD '${DB_PASS}';" 2>/dev/null || true
|
||||
sudo -u postgres psql -c "CREATE DATABASE ${DB_NAME} OWNER ${DB_USER};" 2>/dev/null || true
|
||||
sudo -u postgres psql -d "${DB_NAME}" -f /opt/guardia-fa/schema.sql 2>/dev/null || true
|
||||
# AI 플랫폼 설정 시드(104) + Claude provider flip(105) — 멱등, 재실행 안전
|
||||
sudo -u postgres psql -d "${DB_NAME}" -f /opt/guardia-fa/104_seed_ai_config.sql 2>/dev/null || true
|
||||
sudo -u postgres psql -d "${DB_NAME}" -f /opt/guardia-fa/105_ai_provider_claude.sql 2>/dev/null || true
|
||||
|
||||
# Create app directory
|
||||
mkdir -p ${APP_DIR}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user