0

필자는 소프트웨어를 Azure에서 프로덕션으로 릴리스하려고하지만 동시에 코드 적용 첫 번째 데이터베이스 마이그레이션을 수행해야합니다. Azure SQL 데이터베이스 새 소프트웨어 버전이 새 데이터베이스 스키마없이 푸시되거나 (그 반대의 경우) 소프트웨어가 예외 The model backing the 'BlogContext' context has changed since the database was created.을 throw하는 일정 기간이 소요됩니다.VSTS 연속 통합 내에서 Entity Framework 데이터베이스 마이그레이션을 자동화하는 방법

내 소프트웨어는 Visual Studio Team Services에서 지속적인 통합을 사용하여 git 커밋을 브랜치에 푸시 할 때 배포되므로 실제로 update-database을 실행하는 방법이 필요합니다.

Visual Studio에서 수동 게시를 사용하여 데이터베이스 업데이트 상자 (아래)를 선택하면이 작업을 수행 할 수 있지만이 작업을 자동화해야합니다.

enter image description here

답변

0

데이터가 바로 DBO .__ MigrationHistory 테이블이 도움이

희망을 드롭에 대해 걱정하지 마십시오.

+0

저는 데이터에 대해 많은 차이가 있습니다. 나는 내 질문에 약간 정성을 기울였다. 데이터베이스와 소프트웨어 릴리스 사이의 차이점입니다. – Ian

0

배포 프로세스를 직접 제어 할 수 있습니까 (팀 서비스가 도움이 될 수 있습니까, 아니면 Octopus, Jenkins, 기타)? 그렇다면 코드를 앞서 데이터베이스를 배포하십시오. Entity Framework를 사용하지 않는다면 그렇게 할 수 있습니다. Entity Framework에서도 동일한 가정을합니다.

+0

그 요구 사항을받지 못했습니다. 이를 추가하면 배치 중에 트랜잭션을 일시 중지하거나 대기열에 대기시킵니다. 이 문제를 해결하기 위해해야 ​​할 일들이 많이 있습니다. –