From e38b337832cb30e99f88dd7287c208d03ea1978e Mon Sep 17 00:00:00 2001 From: happybell80 Date: Wed, 15 Oct 2025 18:33:07 +0900 Subject: [PATCH] =?UTF-8?q?docs:=20Slack=20=EB=B4=87=20=EC=84=A4=EC=B9=98?= =?UTF-8?q?=20=EC=98=A4=EB=A5=98=20=EB=AC=B8=EC=84=9C=20=EC=88=98=EC=A0=95?= =?UTF-8?q?=20(=EC=99=84=EB=B2=BD=ED=95=9C=20=EC=A7=80=EC=8B=9C=EC=84=9C?= =?UTF-8?q?=EB=A1=9C)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 해결 방안: 구체적인 수정 위치 및 내용 명시 - 교훈: Raw SQL 위험성, ORM 사용 권장 추가 - 코드 블록 제거, 파일명:줄번호 형식 준수 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- ...251015_slack_install_workspace_id_error.md | 33 ++++++++++--------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/troubleshooting/251015_slack_install_workspace_id_error.md b/troubleshooting/251015_slack_install_workspace_id_error.md index cced1a0..4c03fa9 100644 --- a/troubleshooting/251015_slack_install_workspace_id_error.md +++ b/troubleshooting/251015_slack_install_workspace_id_error.md @@ -30,25 +30,28 @@ LINE 2: SELECT workspace_id ## 해결 방안 -**로컬 개발자 수정 필요**: slack.py:407-423 +**수정 파일**: auth-server/app/providers/slack.py -- slack.py:408-413: workspace_member 쿼리 제거 -- user.team_id 직접 조회로 변경 -- User 모델 import 추가 필요 (app.models.user) +**수정 내용**: +- slack.py:408-413: text() 쿼리 삭제 +- slack.py:408: db.query(User).filter(User.id == user_id).first()로 변경 +- slack.py:409-410: user.team_id 존재 확인 (없으면 HTTPException 404) +- slack.py:418: workspace_id = user.team_id + +**참고**: User는 slack.py:19에 이미 import됨 ## 교훈 ### DB 스키마 검증 누락 -- workspace_member.workspace_id 존재 가정 -- 실제 테이블 구조 미확인 -- 교훈: 쿼리 작성 전 \d 명령으로 테이블 구조 확인 필수 +- workspace_member.workspace_id 존재 가정, 실제 컬럼 없음 +- tables.md 또는 psql \d 명령으로 테이블 구조 미확인 +- 교훈: 쿼리 작성 전 tables.md 참조 또는 DB 직접 확인 필수 -### 스키마 변경 후 코드 미반영 -- Git 히스토리: 9월 workspace 관련 수정 다수 (커밋 455af87, 59ae0ab) -- DB 스키마 변경 후 참조 쿼리 미검증 +### Raw SQL 사용 위험 +- text() 쿼리 사용 시 컴파일 타임 타입 체크 불가 +- 런타임에만 에러 발견 +- 교훈: ORM (db.query(Model)) 사용으로 타입 안전성 확보 + +### 스키마 변경 추적 부족 +- DB 스키마 변경 후 참조 코드 미검증 - 교훈: 스키마 변경 시 Grep으로 전체 참조 검색 후 일괄 수정 - -### 중간 테이블 설계 오류 -- workspace_member에 workspace/team FK 누락 -- user.team_id로 직접 조회해야 하는 구조 -- 교훈: 다대다 중간 테이블은 양쪽 FK 필수