Python
-
SQLAlchemy ORM 특징Python/Today 2025. 8. 22. 09:30
구분 설명ORM(Object Relational Mapping)파이썬 객체와 데이터베이스 테이블을 매핑하여 SQL 대신 객체 지향적으로 DB 조작 가능데이터베이스 독립성SQLite, PostgreSQL, MySQL, Oracle 등 다양한 DB 엔진을 지원하며 코드 변경 최소화세션(Session) 기반 관리DB 연결, 트랜잭션, 객체 상태(Transient, Pending, Persistent, Detached)를 세션에서 관리쿼리 빌더(Query Builder)스타일: 2.0 권장 스타일 사용 — select()/insert()/update()/delete() + session.execute(stmt) (과거 session.query()는 레거시).표현식 구성: 컬럼·연산자·함수를 조합해 SQL을 파이..
-
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 ..
-
python 정리 #2(routers/router.py)Python/Today 2025. 7. 8. 10:50
# FastAPI의 APIRouter 클래스 임포트from fastapi import APIRouter# 웹 관련 라우트 모듈 전체 임포트from .routes.web import *# 웹 모듈 중 user 서브모듈만 별칭(web_user)으로 임포트from .routes.web import user as web_user# ─────────────────────────────────────────────────────────────────────────────# 메인 API 라우터 인스턴스 생성# ─────────────────────────────────────────────────────────────────────────────api_router = APIRouter()# ──────────────..
-
python 정리 #1(routers/user.py)Python/Today 2025. 7. 8. 10:48
# FastAPI, 의존성 주입, HTTP 예외 처리용 클래스 임포트from fastapi import APIRouter, Depends, HTTPException# SQLAlchemy 세션 타입 임포트from sqlalchemy.orm import Session# DB 세션 제공 함수(get_db) 임포트from db.another_db.mariaDB import get_db# 요청 본문 검증용 Pydantic 모델(UserCreate) 임포트from schemas.requests.user_create import UserCreate# 실제 사용자 생성 로직(create_user) 임포트from crud.user.user_crud import create_user# ────────────────────..