FastAPI + SQLModel Postgres DB연동

FastAPI + SQLModel Postgres DB연동 검색해도 잘 안나와서 포스팅 합니다.

 

다음 공식 사이트는 sqlite로 되어 있습니다.

https://sqlmodel.tiangolo.com/

 SQLModelSQLModel, SQL databases in Python, designed for simplicity, compatibility, and robustness.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)

 

 

결과

DB에 생성

콘솔 출력

Read more

[React Native] WebView 안드로이드 로그인 유지

증상 * 안드로이드 앱에서 로그인 유지가 의도한 것 보다 짧게 유지 되거나 로그인 정보가 날라가는 오류가 있었습니다 원인 * 로그인 인증을 위한 쿠키가 메모리에서 디스크로 이동하는데 일정 간격이 있어서 실시간으로 동기화 되지 않았기 때문입니다 조치 * 안드로이드에서 쿠키를 디스크(영구 저장소)로 저장하는 메소드를 앱이 백그라운드로 이동할 때 호출하여 해결하였습니다 * React native의 쿠키관리

By Taehwan Go