From 205198fe8725933d86589621e944f4271bf528f1 Mon Sep 17 00:00:00 2001 From: happybell80 Date: Fri, 2 Jan 2026 12:11:24 +0900 Subject: [PATCH] =?UTF-8?q?docs:=20=EB=8D=94=EB=AF=B8=20=EB=8D=B0=EC=9D=B4?= =?UTF-8?q?=ED=84=B0=20=EC=83=9D=EC=84=B1/=EC=82=AC=EC=9A=A9=20=EA=B8=88?= =?UTF-8?q?=EC=A7=80=20=EC=9B=90=EC=B9=99=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- book/300_architecture/311_FastAPI_구조_원칙.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/book/300_architecture/311_FastAPI_구조_원칙.md b/book/300_architecture/311_FastAPI_구조_원칙.md index 43e1433..8cb5478 100644 --- a/book/300_architecture/311_FastAPI_구조_원칙.md +++ b/book/300_architecture/311_FastAPI_구조_원칙.md @@ -148,12 +148,19 @@ utils - **Python 로직 처리**: 컬럼명 충돌 시 Supabase 쿼리 체이닝 대신 Python 로직으로 정렬 처리 (모든 데이터 조회 후 Python에서 정렬) - **별칭 사용**: 가능한 경우 컬럼명 별칭 사용하여 충돌 회피 +### 더미/목 데이터 금지 원칙 +- **절대 금지**: 프로덕션 환경에서 더미 데이터(mock data, dummy data)를 생성하거나 사용하지 않음 +- **데이터 수집 필수**: 실제 데이터 소스(공식 API, 공개 데이터, 수집 파이프라인)에서 데이터를 수집해야 함 +- **임시 데이터**: 개발/테스트 환경에서만 더미 데이터 허용 (명시적으로 `if os.getenv("ENVIRONMENT") == "development"` 조건부 사용) +- **데이터 부재 시**: 데이터가 없는 경우 기능을 비활성화하거나 "데이터 수집 중" 메시지 표시, 절대 랜덤/더미 데이터로 대체하지 않음 + ### 금지 사항 - ❌ 프로덕션 router/services에서 직접 asyncpg.connect() - ❌ 하드코딩된 DB URL - ❌ JSONB 저장 시 dict 직접 전달 (json.dumps() 필수) - ❌ 프로덕션 요청 경로에서 직접 DB 연결 재사용 - ❌ Supabase 쿼리 체이닝에서 컬럼명과 예약어 충돌 시 직접 사용 (Python 로직으로 처리) +- ❌ 프로덕션에서 더미/목 데이터 생성 및 사용 (`random`, `mock`, `dummy` 데이터 생성 금지) ## 6-1. DB 스키마 변경 시 동기화 필수