2016-08-24 1 views
1

Visual Studio 데이터 프로젝트에 __MigrationHistory 테이블과 마이그레이션 폴더가 있습니다. 문제를 조사하기 위해 git의 다른 분기로 전환해야하므로 데이터베이스를 재설정해야하지만 다시 전환하고 작업을 계속해야합니다.EF 코드를 사용하여 데이터베이스를 다시 설정하는 방법

이것이 가능합니까? 문제를 조사하기 위해 데이터베이스를 재설정하는 방법 (예 : __MigrationHistory 테이블에서 마이 그 레이션을 삭제하고 마이 그 레이션 파일을 삭제하는 방법)을 시도하면 문제가됩니다. 분기로 다시 전환해야 할 때 작업이 느슨합니까?

이 문제를 해결할 수있는 솔루션은 무엇입니까? 데이터베이스 업데이트를 실행하려고 할 때

나는 다음과 같은 결과를 얻을 migrationhistory 테이블에 내 항목을 삭제 한 후

업데이트? 해당 마이그레이션 파일도 삭제해야합니까?

No pending explicit migrations. 
Running Seed method. 

두 번째 업데이트

데이터베이스를 백업하고 내가

There is already an object named 'Customer' in the database. 

답변

1

는이 명령을 사용하여 이전 버전으로 데이터베이스를 되돌릴하려면 다음과 같은 오류를 얻을 migrationhistory 테이블을 절단 한 후 패키지 관리자 :

Update-Database -TargetMigration "NameOfPreviousMigration"

Entity Framework는 데이터베이스에서 Down 마이그레이션을 실행하고 _MigrationHistory을 동기화합니다. 레코드를 수동으로 삭제할 필요가 없습니다.

모델과 데이터베이스가 일치하지 않으면 Entity Framework에서 오류가 발생하거나 데이터베이스를 업데이트하려고하므로 (자동 마이그레이션을 사용할 수 있는지 여부에 따라) 코드를 되돌릴 필요가 있습니다.

http://elegantcode.com/2012/04/12/entity-framework-migrations-tips/

:

참조 다시 Up 마이그레이션을 실행하는 -TargetMigration 명령 스위치없이 Update-Database를 실행하는 작업을 완료

,