sqlalchemy greenlet_spawn error 해결
목차
개요
FastAPI + 비동기 SQLAlchemy사용하다 아래와 같은 에러를 만났습니다. 별거아니 에러인데 어이없게 시간을 좀 써서 기록합니다.
💡
sqlalchemy.exc.StatementError: (sqlalchemy.exc.MissingGreenlet) greenlet_spawn has not been called; can't call await_only() here. Was IO attempted in an unexpected place?
해결
이런 에러를 만났을 때 expire_on_commit = False를 주니 간단하게 해결되었습니다.
async_session = async_sessionmaker(
connection, autoflush=False, autocommit=False, expire_on_commit=False
)
잊어버렸을 경우 찾아보기 위해 기록을 해놓았습니다.