FastAPI + SQLModel Postgres DB연동
FastAPI + SQLModel Postgres DB연동 검색해도 잘 안나와서 포스팅 합니다.
다음 공식 사이트는 sqlite로 되어 있습니다.
https://sqlmodel.tiangolo.com/
postgres연동으로 교체한 후 실행
from typing import Optional
from sqlmodel import Field, SQLModel, create_engine, Session, select
class Hero(SQLModel, table=True):
id: Optional[int] = Field(default=None, primary_key=True)
name: str
secret_name: str
age: Optional[int] = None
hero_1 = Hero(name="Deadpond", secret_name="Dive Wilson")
hero_2 = Hero(name="Spider-Boy", secret_name="Pedro Parqueador")
hero_3 = Hero(name="Rusty-Man", secret_name="Tommy Sharp", age=48)
# DB 접속 정보
db_host = "your_db_host" # ex) ec2-123-123-123-123.ap-northeast-2.compute.amazonaws.com
user = "your_db_user"
password = "your_db_password"
engine = create_engine(f'postgresql://{user}:{password}@{db_host}/your_db_name')
SQLModel.metadata.create_all(engine)
with Session(engine) as session:
session.add(hero_1)
session.add(hero_2)
session.add(hero_3)
session.commit()
with Session(engine) as session:
statement = select(Hero).where(Hero.name == "Spider-Boy")
hero = session.exec(statement).first()
print(hero)