2013-03-28 2 views
10

데이터베이스를 사용하여 EF를 사용하고 데이터베이스에서 다이어그램을 생성하기 시작했습니다.데이터를 삭제하지 않고 데이터베이스 스키마를 업데이트 하시겠습니까?

이제 다이어그램을 변경하고 데이터 손실없이 데이터베이스 스키마를 업데이트하고 싶습니다. 그러나 다이어그램에서 데이터베이스를 생성하면 모든 테이블이 삭제되고 다시 생성됩니다.

코드에서 '데이터 마이그레이션'을 먼저 발견했습니다. 모델을 처음 사용하거나 데이터를 유지 관리 할 수있는 방법이 있습니까?

내가 SO 사이트에 검색하는 것을 잊지 마세요 EF5

+1

배포를 실행 한 후 차이 스크립트를 생성하는 선택의 도구를 사용하여 테스트 데이터베이스와 생산 사이의 차이를 수행합니다 HTTP : //stackoverflow.com/questions/5861991/deploying-database-changes-with-ef-4-1 – AaronLS

+0

"모델에서 데이터베이스 생성"을 제외하고 모든 멋진 DefiningQueries (뷰)를 테이블로 변환하고 프로세스에서 edmx 파일을 지 웁니다. . – Dave

+0

그 경우 Visual Studio의 스키마 비교 기능을 사용합니다. 그것은 아주 잘 작동합니다. 이름이 변경된 열은 문제이지만 그 중 일부는 완료됩니다. –

답변

0

와 VS 2012를 사용하고, 당신은 "선택 모델에서 데이터베이스를 생성

http://visualstudiogallery.msdn.microsoft.com/df3541c3-d833-4b65-b942-989e7ec74c87/ 설치 후

, ... " 새 마법사가 나타나며"Migration T-SQL 생성 "을 선택할 수 있습니다.

Another 방법은 사용자 지정 t4를 사용하여 모델에서 DbMigrationsConfiguration 및 DbContext를 생성하는 것이므로 Enable-Migration을 전혀 실행할 필요가 없습니다. 단순히 테스트 데이터베이스에 추가 마이그레이션 및 패키지 관리자에서 업데이트-데이터베이스 콘솔

http://blog.amusedia.com/2012/08/entity-framework-migration-with-model.html

+1

나는 SO를 검색했지만, 제 질문에 나열한대로 VS2012와 EF5를 사용하고 있습니다. 둘 중 어느 것도이 도구로 지원되지 않습니다. 불행히도. – Kyle

+0

문제 없습니다. t4 템플릿이 가장 좋은 방법입니다 –

+0

이 작업을 수행하기 위해 T4 템플릿을 어떻게 사용하는지 자세히 설명해 주시겠습니까? – Kyle

관련 문제