2016-12-28 2 views
0

Flask-Migrate 및 Alembic을 사용하는 두 개의 Flask 응용 프로그램이 있습니다.여러 프로젝트에서 Alembic 마이그레이션 사용

이 두 플라스크 응용 프로그램간에 공유하고, 내가 공유 테이블이 프로젝트 alembic_version 중 하나 찍혀 도착하는 어려움으로 실행하고 shared_models.py

로 표시 한 테이블에 세 개의 테이블이 있고, 다른 프로젝트는 shared_models.py 파일이 동일 함에도 불구하고 그것에 대해 불평합니다.

이러한 종류의 환경을 처리하기위한 좋은 전략은 무엇입니까?

답변

1

하나의 옵션은 두 응용 프로그램에 대해 두 개의 별도 데이터베이스를 사용하는 것입니다. 두 앱 중 어느 것이 공유 테이블을 소유하고 있는지 결정해야합니다. 각 응용 프로그램은 자체 데이터베이스에서 마이그레이션을 추적하며 공유 테이블을 소유하지 않은 응용 프로그램은 Flask-SQLAlchemy의 바인드 기능을 통해 다른 응용 프로그램의 데이터베이스에서이 테이블에 액세스합니다.

이것은 유일한 옵션이 아닙니다. 또 하나의 염두에 떠오르는 점은 하나의 데이터베이스를 계속 사용하는 것이지만이 두 가지 애플리케이션 중 하나에서 Alembic을 구성하여이 공유 테이블을 무시하는 것입니다. 이것은 env.py 파일에서 수동으로 수행해야하며, Flask-Migrate는 테이블을 무시하는 코드를 직접 생성 할 수 없습니다.

관련 문제