2013-07-31 6 views
3

나는 장고와 플라스크 사이에 데이터베이스를 공유하고 있습니다.Alembic Django Flask 데이터베이스 마이 그 레이션

플라스크 앱에서는 sqlAlchemy를 사용하고 Alembic을 사용하여 데이터베이스를 이전합니다. 하지만 데이터베이스를 마이그레이션하고 명령을 사용할 때 :

$ 증류기 개정 --autogenerate -m "어떤 메시지"

그것은 자동으로 장고가 생성 한 모든 테이블을 제거합니다 :

INFO [alembic.migration] Context impl MySQLImpl. 
INFO [alembic.migration] Will assume non-transactional DDL. 
INFO [alembic.autogenerate] Detected removed table u'django_content_type' 
INFO [alembic.autogenerate] Detected removed table u'auth_group' 
INFO [alembic.autogenerate] Detected removed table u'auth_user' 
INFO [alembic.autogenerate] Detected removed table u'auth_user_groups' 
INFO [alembic.autogenerate] Detected removed table u'django_session' 
INFO [alembic.autogenerate] Detected removed table u'auth_permission' 
INFO [alembic.autogenerate] Detected removed table u'auth_user_user_permissions' 
INFO [alembic.autogenerate] Detected removed table u'account_userprofile' 
INFO [alembic.autogenerate] Detected removed table u'south_migrationhistory' 
INFO [alembic.autogenerate] Detected removed table u'django_site' 

방법 데이터베이스 이전이 장고 테이블을 제거하지 않도록 Alembic을 구성 하시겠습니까?

+0

Alembic이나 Flask에는 django와 같은 db 내부 검사 도구가 있습니까? – Private

답변

1

나는 내 자신이 문제를 해결 :이 함수는 주어진 테이블/객체가

더 자세한 내용은 여기를 참조하십시오 스윕 자동 생성에서 고려되어야한다 어떨지를 나타내는, True 또는 False 반환 할 수 있습니다 env 파일, 기능 :

def run_migrations_online(): 
    target_metadata.reflect(engine, only=[ "django_content_type", "auth_group", ...]) 

여기 테이블을 넣으십시오. 이것은 엔진이 테이블이 존재 함을 정의하고 테이블을 삭제하지 않습니다.

+0

덕분에 이런 문제도 해결했습니다. 하지만 alembix 테이블은 어때? 자동 생성으로 감지했습니다. – llazzaro

0

include_object을 환경 컨텍스트에서 사용할 수 있습니다.

에서 : Alembic API