ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • python 정리 #3(app/crud/user_crud.py)
    Python/Today 2025. 7. 8. 13:41
    # SQLAlchemy Session 타입 임포트
    from sqlalchemy.orm import Session
    # User ORM 모델 임포트
    from db.another_db.models import User
    # 회원가입 요청 검증용 Pydantic 모델 임포트
    from schemas.requests.user_create import UserCreate
    
    # ─────────────────────────────────────────────────────────────
    # 신규 사용자 생성 함수 (CRUD)
    # ─────────────────────────────────────────────────────────────
    def create_user(
        db: Session,           # SQLAlchemy DB 세션 (의존성 주입)
        user: UserCreate       # Pydantic UserCreate 모델 (요청 데이터)
    ):
        # 1) User 모델 인스턴스 생성 (이메일만 초기화)
        db_user = User(email=user.email)
    
        # 2) 세션에 객체 추가 (INSERT 준비)
        db.add(db_user)
    
        # 3) 커밋: 실제 DB에 반영
        db.commit()
    
        # 4) 새로고침: 자동 생성된 필드(ID 등) 업데이트
        db.refresh(db_user)
    
        # 5) 생성된 User ORM 객체 반환
        return db_user
    

    'Python > Today' 카테고리의 다른 글

    SQLAlchemy 1.3 vs 2.0 차이점  (0) 2025.08.25
    SQLAlchemy ORM 특징  (1) 2025.08.22
    UUID VS ULID  (0) 2025.08.12
    python 정리 #2(routers/router.py)  (0) 2025.07.08
    python 정리 #1(routers/user.py)  (0) 2025.07.08
Designed by Tistory.