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; +``` ---