2017-05-23 1 views
0

매우 빠른 질문입니다.MVC 5의 코드 통합 프로젝트에서 마이그레이션 결합

MVC 5 Code First 프로젝트에서 작업하고 DB 모델을 약간 변경했습니다. 때때로 변경 사항이 이전 변경 사항을 덮어 씁니다. update-database -targermigration InitialCreate은 안전한가요? (이니셜 제외) 모든 마이그레이션을 제거하고 add-migration cumulative을 제거 하시겠습니까? 또는 아니오과 같은 전문가의 의견을 기대합니다. 미리 감사드립니다.

+1

아직 데이터베이스를 프로덕션 환경에 배포하지 않았지만 아직 개발 중이라면 아직 마이그레이션을 만들지 않을 것입니다. 모델 작업이 끝나고 프로덕션으로 이동할 준비가되면 예, 초기 마이그레이션을 작성하십시오. –

+0

@MariaInesParnisari 개발 목적으로 DB를 정기적으로 업데이트하여 DB를 변경합니다. 프로젝트는 여전히 iisexpress에서 실행됩니다. 고맙습니다. –

+0

@MariaInesParnisari 알다시피, 작은 마이그레이션을 유지하고 배포하기 전에 결합하십시오. 내가 맞습니까? –

답변

1

다른 사람들의 사례를 아는 것은 흥미로울 것입니다. 그러나 제가 할 일을 추가하겠습니다. (면책 : 나는 오랫동안 이것을 직접 해본 적이 없다)

우선 조금의 문맥. 코드 마이그레이션은 모델 클래스를 변경 한 후 데이터베이스를 업데이트하는 방법을 알려주는 코드 스 니펫입니다. 개발을 진행하고 있으며 프로덕션으로 코드를 푸시하지 않았기 때문에 프로덕션 데이터베이스가 필요 없기 때문에 마이그레이션을 수행 할 필요가 없습니다. 지금 당장은 필요한 경우 로컬 DB를 삭제하고 변경할 때마다 처음부터 다시 작성할 수 있습니다. 그러나 이것은 시간이 많이 소요됩니다.

그러나 더 좋은 방법이 있습니다. 자동 이전. 변경을 수행하고 Update-Database으로 전화 할 때마다 EF에서 마이그레이션을 작성하고 데이터베이스를 업데이트합니다.

  1. 실행 Enable-Migrations –EnableAutomaticMigrations.
  2. 모델을 변경할 때마다 Update-Database을 실행하십시오.

일부 변경 사항의 경우 수동으로 마이 그 레이션을 추가해야합니다 (지정된 here).

이제 분명히 프로덕션 환경 인 for a variety of reasons에는 적합하지 않습니다.

앱의 MVP 버전을 만들었 으면 로컬 데이터베이스를 삭제하고 here과 같이 초기 마이그레이션을 덮어 씁니다. 삭제 InitialCreate.cs

  1. (또는 그 문제에 대한 전체 Migrations 폴더 ...)
  2. 실행 Add-Migration InitialCreate
  3. 는 로컬 데이터베이스를 삭제합니다.
  4. 실행 Update-Database -Force.