2014-01-27 2 views
10

원하는 결과 :엔티티 프레임 워크 (6) 모델 먼저 마이그레이션

사용 모델 첫 번째 엔티티 프레임 워크와 접근 방법과 배치 데이터베이스/모델 변경 모델의 변화에 ​​따라 자동으로 수행 할 수 있습니다. 부드러운 스키마 차이 스크립트 생성으로 원활한 마이그레이션이 가능합니다.

모델 EF6에서 마이그레이션을 수행 할 수있는 방법이 있습니까? 코드 첫 번째 마이그레이션 주제를 처음부터 볼 수 있지만, 모델 우선은별로 없습니다.

옵션은 내가 지금까지 본 : (오래된 것 같다)

  • 데이터베이스 생성 파워 팩
  • 어떻게 든 (내가 비주얼 디자이너를 가지고 좋아, 바람직하지) 다음 마이그레이션을 사용하여 첫 번째 코드로 변환
  • 어떻게 든 코드 첫 번째 이전 코드 (http://blog.amusedia.com/2012/08/entity-framework-migration-with-model.html : 이것은 EF5 용이므로 모델 우선 마이그레이션을 실행할 수없는 오류가 발생했습니다)
  • 일부 타사 도구가 있습니까?

답변

11

내가 아는 한 Entity 프레임 워크 모델에 대한 자동 마이그레이션은 아직 없습니다.

우리의 접근 방식은 다음과 같습니다

  1. 모델에서 새로운 데이터베이스를 만듭니다.
  2. 이전 스크립트를 새 스크립트로 마이그레이션하는 diff 스크립트를 만듭니다.
  3. 이 diff 스크립트가 실제로 올바른지 확인하십시오. 자동화 도구에서 생성하는 내용을 항상 확인하십시오.

처음으로 모델 이동을 위해 Open DB diff을 사용했습니다. 그 후 더 안정적인 마이그레이션을 생성 했으므로 Redgate's SQL compare으로 전환했습니다. DbDiff는 불필요한 SQL을 많이 생성했습니다. 열이있는 순서에 신경을 쓰고 끊임없이 삭제되고 다시 추가되는 외래 키와 같은 다른 문제가 있기 때문입니다. 그 외에도 여전히 잘 수행되었지만 생성 된 SQL에 대해 두 번 확인해야했습니다.

+0

우리는이 접근 방식이 좋은 의미에서와 같이 끝났습니다. 우리는 로컬 PC에 개발 데이터베이스를 가지고 있습니다. 원하는 곳에 무엇이든 할 수 있으며, 테스트 데이터베이스와 프로덕션으로 변경 사항을 전달할 수 있습니다. 지금까지 설명한 워크 플로우는이 순서대로 잘 맞으며 지금까지는 아주 좋은 해결책으로 보입니다. 이 시점에서 답변으로 표시하십시오. – Levent