2009-05-05 4 views
1

Visual Studio의 데이터 생성 계획을 처음 접했지만 조금 봤지만이 질문에 대한 답을 찾을 수 없습니다. 데이터 생성 계획 (필드가 너무 커서 프로 시저가 파손 됨)에 의해 생성 된 데이터를 기반으로 데이터베이스 측에서 스키마를 수정했습니다 (NVARCHAR 필드의 크기 변경). 이제는 생성하려고합니다. 새 스키마는 새 스키마를 기반으로합니다.Visual Studio 데이터 생성 계획 스키마 업데이트

스키마를 데이터베이스에서 다시 가져 오거나 스키마를 항상 라이브로 유지하고 연결 유지할 수있는 방법이 있습니까?

나는 세대 계획의 내부에서 필드 크기를 바꿀 수 있다는 것을 알고있다. 그러나 이것은 나중에 더 복잡해질 간단한 사건이다.

+0

아무도 없습니까? 정말? – brian

답변

2

스키마가 변경된 경우 IDE에서 데이터 생성 계획을 업데이트해야합니까?

From the MSDN

:

는 데이터베이스 프로젝트에서 데이터 생성 계획 를 만들 계획이 프로젝트의 데이터베이스 스키마를 기반으로 입니다. 데이터 생성 플랜을 작성한 후 의 스키마를 작성하면 데이터베이스 프로젝트가 변경되어 플랜을 갱신하라는 프롬프트가 표시됩니다. 이 문제는 다음 경우에 발생합니다

  • 이 아직 스키마가없는 않는 데이터베이스 프로젝트에서 데이터 생성 계획을 만들 수 있습니다. 스키마를 데이터베이스 프로젝트로 가져옵니다.
  • 스키마가 인 데이터베이스 프로젝트에서 데이터 생성 계획을 만든 다음 스키마가 변경됩니다. 두 경우 모두

이, 당신이 업데이트 할 데이터 생성 계획을하라는 메시지를 열 때 또는 그것은 활성 문서를 될 때. 스키마 변경을 기반으로하는 데이터 생성 계획을 업데이트하지 않으면 계획을 계속 수정할 수 없습니다. 닫고 데이터 생성 계획을 다시 열고 프롬프트를 다시 표시 할 수 있습니다. a blog에서이 주제에

더 많은 증거 :

이 ... 데이터베이스 내부의 오브젝트의 스키마는 데이터베이스 프로젝트 내부의 테이블과 일치해야합니다.

* .dgen 파일을 살펴본 후 DB 스키마와 항상 일치하는 사전 빌드 단계 (또는 비슷한)를 수행 할 수 있습니다. 어쩌면 그것은 충분히 일을 자동화 할 것입니다.

+0

이것은 프로젝트 내부의 데이터베이스 스키마가 아니라 데이터베이스 내부의 데이터베이스 스키마를 기반으로합니다.데이터베이스 프로젝트를 만들 때 VS.NET은 실제 데이터베이스와 독립적 인 데이터베이스 스키마의 복사본을 가져 오는 것으로 보입니다. 이 스키마를 다시 가져오고 싶습니다. – brian

+0

알았어, 내가 이해할 수 있는지 보자 ... 스키마가있는 특정 DB를 기반으로 DGP를 설정했다. 이 시점에서 (현재는) DB 스키마와 일치하는 프로젝트 스키마가 있습니다. 나중에 DB 스키마를 변경했지만 프로젝트 스키마는이 스키마로 업데이트되지 않습니다. 두 가지 문제가있는 것처럼 보입니다. 프로젝트 스키마가 오래되어서 DGP가 오래 되었기 때문입니다. 프로젝트 스키마를 업데이트 (다시 가져 오기)하는 경우에도 이해할 수있는대로 DGP를 직접 업데이트해야합니다. – John

+0

네, 괜찮습니다. 스키마를 다시 가져올 수 있다면 변경된 필드에 대해서만 DGP를 변경하면됩니다. 나는 너무 많이 요구하고 있는가? 완전히 새로운 DGP를 만들 수있는 해답은 무엇입니까? – brian

4

스키마 비교 (파일 메뉴 : 데이터> 스키마 비교> 새 스키마 비교)를 사용하여 프로젝트 및 데이터베이스 스키마를 동기화하십시오. 그 후 데이터 생성 계획을 열면 새로 고침을 요청해야합니다.