본문 바로가기
FastAPI

alembic의 columns 타입이 변경되었을때 적용하기.

by eit8 2023. 9. 12.

alembic에서 컬럼 스키마를 추가하고

 

> almebic revision --autogenerate -m "변경내용"

하고

> alembic upgrade head

하면 잘 반영됨

 

그런데

스키마 클래스에서 컬럼타입을 변경해도 자동으로 감지를 못함

예를 들면

username = Column(String(500), unique=True, nullable=False)

이 내용을

username = Column(String(700), unique=True, nullable=False)

이렇게 변경해도

 

프로젝트 폴더의 migration/versions 폴더에 버전마다 생성되는 파일에서

def upgrade() -> None:
 

이 코드에 아무런 내용을 없음

 

수정하는 방법은

프로젝트 폴더 migration 폴더에 있는

env.py 파일을 수정해줘야 함

 

이렇게 두 곳에  compare_type=True 을 추가해줘야 함