From 2927802a9abbbc22ea86eb974daf845a4b32a132 Mon Sep 17 00:00:00 2001 From: happybell80 Date: Sat, 23 Aug 2025 15:52:04 +0900 Subject: [PATCH] =?UTF-8?q?=ED=8A=B8=EB=9F=AC=EB=B8=94=EC=8A=88=ED=8C=85:?= =?UTF-8?q?=20Gmail=20OAuth=20=ED=86=A0=ED=81=B0=20=ED=85=8C=EC=9D=B4?= =?UTF-8?q?=EB=B8=94=20=EA=B5=AC=EC=A1=B0=20=EA=B0=9C=EC=84=A0=20=EB=B0=8F?= =?UTF-8?q?=20=EB=8D=B0=EC=9D=B4=ED=84=B0=20=EB=A7=88=EC=9D=B4=EA=B7=B8?= =?UTF-8?q?=EB=A0=88=EC=9D=B4=EC=85=98=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - gmail_tokens 테이블 컬럼 추가 (access_token, refresh_token, expires_at 등) - 기존 token_data JSONB에서 새 컬럼으로 데이터 마이그레이션 - token_data NOT NULL 제약 제거 - OAuth config 저장 로직 추가 - 테스트 사용자 상태 및 만료 시간 업데이트 --- ...il_OAuth_토큰_갱신_시스템_구축.md | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/troubleshooting/250823_happybell80_Gmail_OAuth_토큰_갱신_시스템_구축.md b/troubleshooting/250823_happybell80_Gmail_OAuth_토큰_갱신_시스템_구축.md index fc40b12..70686a6 100644 --- a/troubleshooting/250823_happybell80_Gmail_OAuth_토큰_갱신_시스템_구축.md +++ b/troubleshooting/250823_happybell80_Gmail_OAuth_토큰_갱신_시스템_구축.md @@ -134,7 +134,28 @@ ALTER TABLE gmail_tokens ALTER COLUMN token_data DROP NOT NULL; ### 4.4 DB 연결 설정 **문제**: `host.docker.internal` vs 실제 IP -**해결**: Docker 환경에서는 `host.docker.internal` 사용 +**해결**: 환경변수 기반으로 동적 설정 +```python +database_url = os.getenv("DATABASE_URL", "postgresql://robeings:robeings@192.168.219.45:5432/main_db") +``` + +### 4.5 Gmail 토큰 테이블 구조 개선 +**문제**: `access_token` 컬럼 누락으로 "column does not exist" 에러 +**해결**: 필요한 컬럼들 추가 +```sql +ALTER TABLE gmail_tokens +ADD COLUMN IF NOT EXISTS access_token TEXT, +ADD COLUMN IF NOT EXISTS refresh_token TEXT, +ADD COLUMN IF NOT EXISTS token_type VARCHAR DEFAULT 'Bearer', +ADD COLUMN IF NOT EXISTS expires_at FLOAT; + +-- 기존 token_data에서 새 컬럼으로 데이터 마이그레이션 +UPDATE gmail_tokens +SET + access_token = token_data->>'access_token', + refresh_token = token_data->>'refresh_token' +WHERE token_data IS NOT NULL; +``` ---