2012-07-26 7 views
0

스키마와 데이터가있는 기존 dev DB가 있습니다. 나는 마이크로 소프트 유틸리티 (CodeFirst 클래스)를 사용하여 클래스를 만들었습니다. 그런 다음 마이그레이션을 활성화했습니다.EF 마이그레이션 - 기존 DB이지만 처음부터 배포하려는 경우

이제는 - IgnoreChanges의 동작에 대해 의아해합니다. 초기 마이그레이션에 Up() 및 Down() 논리가없는 경우 prod db에 배포하면 어떻게됩니까?

EF는 모든 마이그레이션을 무시하고 모델에서 바로 처음부터 구축합니까?

-IgnoreChanges를 넣지 않으면 모든 Up() 및 Down() 논리가 있습니다. 그러나 Update-Database에서는 동일한 이름의 테이블이 이미 존재한다는 예외가 발생합니다.

저는 EF 5 RC를 사용하고 있습니다.

답변

1

IgnoreChanges은 기존 응용 프로그램 (dev 및 prod)이 있고 마이그레이션 사용을 시작하려는 시나리오입니다. IgnoreChanges은 기존 데이터베이스에 simplify adding initial migration입니다. 프로덕션 데이터베이스가없는 시나리오에 있으면 Ignore changes를 사용할 수 없습니다.

Up 메서드 (각각 Down 메서드)의 모든 개체에 대해 테이블을 만들어야하기 때문에 기존 데이터베이스에서 개체를 만들고 해당 개체에서 마이그레이션하여 만든 다른 데이터베이스에서 작업하는 것이 좋습니다.

관련 문제