동일한 데이터베이스의 다른 버전에서 작동하도록 알레 빗 마이 그 레이션을 사용하려고합니다. 예를 들어, 라이브 데이터베이스와 테스트 데이터베이스라는 두 개의 데이터베이스가 있습니다. 각자 다른 이주 상태에있을 수 있습니다. 하나의 경우, 테스트 데이터베이스가 전혀 존재하지 않을 수도 있습니다.동일한 데이터베이스의 서로 다른 버전에서 작동하는 알렘 비 마이그레이션
라고 말하면 및 B
인 테이블 table1
이 있습니다. 이제 열 C
을 추가하고 싶습니다. 나는 C
을 포함하는 내 모델을 변경하고 다음 코드
op.add_column('table1', sa.Column('C', sa.String(), nullable=True))
이 기존 live
데이터베이스와 잘 작동이있는 마이그레이션 스크립트를 생성합니다.
존재하지 않는 test
데이터베이스를 참조하여 alembic upgrade head
을 호출하면 (Operational Error) duplicate column name...
오류가 발생합니다. 나는이 모델이 C
컬럼을 포함하고 있고 alembic/sqlalchemy가 존재하지 않을 경우 자동으로 전체 테이블을 생성한다고 가정합니다.
나는 단순히 오류를 잡아 두어야할까요? 더 좋은 방법이 있습니까?
내가 테스트 DB를 새로 만든 후 그 즉시 머리를 도장한다 제안