docs: OAuth JSONB 키 네이밍 및 인덱스 전략 수정

- JSONB 예시 추가: slack, google, naverworks 키 명시
- GIN 인덱스 → B-tree 표현식 인덱스로 변경
- 쿼리 형태: oauth_providers->>'slack' = 'U...'에 최적화
- 3개 프로바이더별 인덱스 분리

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
happybell80 2025-10-13 00:08:43 +09:00
parent 45c74a64d7
commit 0b4a489d01

View File

@ -35,6 +35,7 @@ auth-server/app/providers/slack.py:287-288에서 기존 사용자의 oauth_provi
### 2단계: 기존 데이터 변환
- UPDATE "user" SET oauth_providers = json_build_object(oauth_provider, oauth_id)::jsonb WHERE oauth_id IS NOT NULL
- 예시: {"slack": "U0925SXQFDK"} 또는 {"google": "100176844464607664427"} 또는 {"naverworks": "user_id"}
### 3단계: 코드 수정 (6개 파일)
@ -48,8 +49,10 @@ auth-server/app/providers/slack.py:287-288에서 기존 사용자의 oauth_provi
- app/providers/naverworks.py:225-226,233-234,243-244 - oauth_providers JSONB 병합
- app/models/user.py:26-27 - oauth_providers JSONB 추가
### 4단계: GIN 인덱스 추가
- CREATE INDEX idx_user_oauth_providers ON "user" USING GIN (oauth_providers)
### 4단계: B-tree 인덱스 추가
- CREATE INDEX idx_user_oauth_slack ON "user" ((oauth_providers->>'slack'))
- CREATE INDEX idx_user_oauth_google ON "user" ((oauth_providers->>'google'))
- CREATE INDEX idx_user_oauth_naverworks ON "user" ((oauth_providers->>'naverworks'))
### 5단계: 테스트 후 기존 컬럼 제거
- ALTER TABLE "user" DROP COLUMN oauth_provider, DROP COLUMN oauth_id