728x90
# db_connect.py
from sqlalchemy import create_engine
def get_db_engine():
# 데이터베이스 연결 설정
engine = create_engine(
"postgresql://postgres:pw@test.com:5432/db"
)
return engine
# main.py
from sqlalchemy import Column, String
from sqlalchemy.orm import sessionmaker, declarative_base
from db_connect import get_db_engine
# DB 연결 엔진 가져오기
engine = get_db_engine()
# sessionmaker : 필수는 아니지만 관리상 권장
Session = sessionmaker(bind=engine)
# declarative_base : 필수는 아니지만 관리상 권장
# Base를 상속받은 자식 클래스들은 모두 테이블과 매핑되는 클래스로 인식
Base = declarative_base()
# 현재 db에 있는 User 모델 정의
class User(Base):
__tablename__ = "users"
user_id = Column(String, primary_key=True, unique=True)
name = Column(String)
# 유저 추가하기 (begin() 사용시 자동 커밋)
with Session.begin() as session:
user = User(user_id="test_user", name="test_name")
session.add(user)
참고
https://miintto.github.io/docs/python-sqlalchemy-session
https://jammdev.tistory.com/186
728x90
'Python' 카테고리의 다른 글
맥에서 기본 파이썬 변경 (0) | 2024.03.25 |
---|---|
비즈니스용 원드라이브 문서 다운로드 (0) | 2024.02.13 |
스플렁크 쿼리 결과 가져오기 (0) | 2023.11.10 |
도커로 postgresql 환경 구축 (0) | 2023.09.05 |
깨진 링크 검사기 (broken link checker) (0) | 2023.08.23 |