2016-08-27 6 views
2

flask-sqlalchemy의 db.Enum을 사용하여 열거 형을 생성하고 그 값을 문자열로 입력하기 전에 flask-migrate를 사용하십시오.플라스크 - 모델에서 enum 클래스와 관련된 문제가 발생했습니다.

reservation_status = db.Enum('pending', 'confirmed, name='reservation_status_enum') 

다음과 같이 enum 클래스를 사용하기로 결정했습니다. sqlalchemy docs에 따르면 잘 작동합니다.

migrate 명령을 사용하려고하면 생성 된 코드에 다음과 같이 잘못된 구문 오류가 발생합니다. 오류는 정확히 파일에 기록 된 것입니다.

+0

사용중인 데이터베이스 입니까? – danidee

+0

귀하의 링크에 따르면, 버전 1.1의 SQLAlchemy에'enum.Enum'에 대한 지원이 추가되었습니다. SQLAlchemy의 최신 (시험판이 아닌) 버전은 1.0.14입니다. SQLAlchemy 1.1이 출시 될 때까지 Alembic이 업데이트 될 것이라고 기대하지 않습니다. – dirn

+0

알다시피, 나는 코드 작성에 대해 잊어 버렸습니다. 그것은 말이 될 것입니다. 지금은 문자열 열거 형에 붙어 있습니다. 고맙습니다. @dim. 나는 danidee 테스트를 위해 sqlite를 사용하고있다. –

답변

1

@dim 사용자 덕분에 sqlalchemy를 베타 1.1.0b3으로 업그레이드하여이 문제를 해결할 수있었습니다. 대부분의 경우와 마찬가지로 사용자 오류 (나)입니다.

내가 한 모든

pip uninstall sqlalchemy 
pip install sqlalchemy==1.1.0b3