2017-12-22 13 views
0

Red Gate SQL Compare를 사용하여 데이터 손실없이 데이터베이스를 업그레이드합니다. 또한 Entity Framework 및 SQL Server에서 ASP.NET MVC를 사용합니다.db가 SQL로 업데이트 되더라도 Entity Framework에서 모델 수정을 감지합니다. Compare

이미 Red Gate SQL Compare로 데이터베이스를 업데이트했지만 Visual Studio에서 여전히 모델 수정을 감지합니다. Visual Studio에서 add-migration을 실행하고 update-database을 실행하려고하면 해당 필드가 이미 있음을 알리는 오류가 발생합니다.

도움 주셔서 감사합니다.

+0

왜 마이그레이션을 사용하여 데이터베이스를 업그레이드하지 않습니까? –

+0

이전 테이블은 이전 모델을 기반으로합니다. EF는 새로운 모델의 체크섬과 비교합니다. 따라서 : 데이터베이스를 수동으로 업그레이드하려는 경우 마이그레이션을 해제하십시오. –

+0

데이터베이스가 Visual Studio가 설치되지 않은 프로덕션 서버에 있으므로 마이그레이션을 사용할 수 없습니다. 그리고 실제로 실제로 마이그레이션 폴더를 삭제함으로써 마이그레이션을 해제했습니다. –

답변

1

충돌이 발생한 생성 된 마이그레이션을 삭제 한 다음 Add-Migration 명령을 다시 한 번 실행하고 -IgnoreChanges 플래그를 사용하여 삭제할 수 있습니다. 현재 모델 정보가있는 마이그레이션 테이블에 새 항목을 추가하는 것을 제외하고는 아무 것도 할 수없는 빈 마이그레이션이 생성됩니다. 이것은 명시적인 db 업데이트를 계속 진행하는 데 도움이됩니다.