python/SQLAlchemy 3

SQLAlchemy ORM & async 활용 (2.0.X)

SQLAlchemy에서 2.0 버전이 나와서 문법이 꽤 많이 변경되었습니다. 그래서 오늘은 변경된 ORM 문법과 함께 async로 접근하는 방법을 알아보았습니다. 변경된 ORM 문법을 바로 보도록 하겠습니다. from datetime import datetime from sqlalchemy import String, BIGINT from sqlalchemy.dialects.mysql import DATETIME from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column class Base(DeclarativeBase): type_annotation_map = { int: BIGINT, datetime: DATETIME } class User(Ba..

python/SQLAlchemy 2023.02.26

SQLAlchemy에서 ORM 활용하기

이전 글(https://seokhyun2.tistory.com/84)에서 SQLAlchemy에 대해서 소개를 해보았는데요. 오늘은 ORM을 활용하는 방법을 준비해보았습니다. ORM을 사용하기 위해서는, table에 매핑되는 class를 선언해서 사용하면 되는데요. 바로 예제 코드를 보도록 하겠습니다. from sqlalchemy.orm import declarative_base from sqlalchemy import Column, Integer, String, DateTime from sqlalchemy.sql import func Base = declarative_base() class User(Base): __tablename__ = 'users' id = Column(Integer, primary..

python/SQLAlchemy 2022.09.04

SQLAlchemy 소개 및 활용법

딥러닝 모델을 서비스에 적용하다보면, 실시간 서빙 뿐만 아니라 데이터베이스를 활용하여 데이터베이스에 딥러닝 모델의 인퍼런스 결과를 저장해두고 저장된 결과를 활용하여 서비스를 제공하기도 합니다. 자연어처리에서 예를 들면, 미국 신문 기사에 대한 번역 서비스를 제공한다고 할 때, 미국 신문 기사를 데이터베이스에 저장하면서 번역 결과도 같이 저장을 해둔다면 유저가 접속할 때 마다 번역할 필요가 없겠죠? 그래서 딥러닝 모델을 서비스에 제공하다보면, 데이터베이스에 대한 지식도 필요하게 됩니다. SQLAlchemy? SQLAlchemy는 그 자체가 데이터베이스 클라이언트는 아닙니다. 데이터베이스 클라이언트 라이브러리는 별도로 활용하고, 오늘 소개드릴 SQLAlchemy는 ORM(Object Relational Ma..

python/SQLAlchemy 2022.08.21