2017-01-19 7 views
0

VS2015 데이터베이스 프로젝트 (sqlproj)가 있으며 많은 테스트 데이터를 만들었습니다. PostDeploymentScript.sql 파일에 매개 변수를 추가하고 빈 데이터베이스가 필요할 때이를 false로 설정하고 게시 할 때 테스트 데이터를 포함하지 않습니다. 데모 데이터베이스를 필요로 할 때 사실로 설정하고 게시 할 때 배포 후에도 테스트 데이터를 추가합니다.2 테스트 및 생산을위한 DACPAC 파일 구분

다른 한편으로는 두 개의 서로 다른 DACPAC 파일을 만들어 수동 프로세스를 방지하고 두 프로세스를 동시에 자동으로 빌드하려고합니다. 나는 약간을 수색하고 이것 같이 몇몇 기사를 찾아 냈다 : http://www.techrepublic.com/blog/data-center/auto-deploy-and-version-your-sql-server-database-with-ssdt/ 그러나 나는 그가 말한 것을 적용 할 수 없었다. 내가 뭘 놓치고 있니?

배포 후 조회 테이블 데이터를 추가하는 (거의) 빈 데이터베이스 프로젝트 (Base.sqlproj라고도 함)를 만들었습니다. 다른 DB 프로젝트 (Base_Plus_TestData.sqlproj)를 만들고 첫 번째 데이터베이스에 대한 데이터베이스 참조를 추가했습니다.

클라이언트가 빈 데이터베이스를 배포해야하는 경우 Base.DACPAC을 제공하고 싶습니다. 클라이언트가 테스트 데이터가있는 데모 데이터베이스를 배포해야하는 경우 Base_Plus_TestData.DACPAC을 제공하려고합니다.

이 목적을 위해 무엇을해야하며 잘못 되었습니까?

+1

이봐 잭, 몇 가지 간단한 질문 - 당신은 당신의 데모 dB 정확히 같은, 단지 추가 데이터 스키마입니다 때? 또한 두 데이터베이스 모두에 배포 할 데이터가 있습니까? 마지막으로 당신이나 그것을 운영하는 고객과 얼마나 자주? –

+0

@EdElliott 스키마가 완전히 동일합니다. 둘 다 동일한 공통 조회 데이터를 가지고 있지만 데모 DB에는 상상의 클라이언트 및 판매 데이터가 있습니다. 내 제품 이름이 HappyCRM이라고 가정 해 봅시다.이 DB 또는 다른 하나를 HappyCRM Base 및 Base_Plus_TestData로 생성하고 싶습니다. –

답변

1

이미 데이터를 포함하는 스위치와 함께 무엇을 통해 추가 옵션 몇 가지, 나는이 선택하는 것이 첫째 :

1 - 그냥 데이터베이스를 배포 한 후 실행하는 데모 데이터를 스크립트를 원하는 고객을 제공 (데이터 및 선택적으로 데이터를 배포하기 위해 powershell 스크립트/.net 앱을 사용할 수 있습니다.)

2 - 게시 된 배포 스크립트는 dacpac에서 편집 할 수 있으며 프로젝트를 빌드하고 dacpac을 복사 한 다음 dacpac 중 하나에 데이터를 포함하도록 배포 후 스크립트를 편집하십시오.

3 - "동일한 데이터베이스"참조와 추가 게시 배포 스크립트를 사용하여 기본 데이터베이스 프로젝트를 참조하는 별도의 ssdt 프로젝트를 만듭니다. 빌드 할 때 데이터를 원할 경우 두 곳의 dacpac을 함께 배포하거나 데이터베이스

원래 dacpac에 배치 할 데이터가있는 경우 "데이터가있는"dacpac에 복사해야합니다.

에드

+0

# 1에 대한 Ed 옵션이 가장 좋은 옵션이라고 생각합니다. 데모 데이터를 채우기 위해 스크립트를 별도로 유지하십시오. 필요할 때 전화하십시오. 나머지는 할 수 있지만 스키마가 동일하지 않으면 별도의 프로젝트를 만드는 것이 과도한 것처럼 보입니다. post-deploy에 배치하면 배포 스크립트가 불필요하게 확장됩니다. –

+0

@ EdElliott, 내 질문은 어떻게 테스트 데이터를 고객에게 전달하는 것이 아니라 세 번째 옵션을 수행하는 방법입니다. 이미 처음 두 옵션을 평가했지만 내 고객에게 두 개의 dacpac 파일을 제공하는 것이 좋습니다. 다른 모든 옵션은 두 개 이상의 단계 또는 수동 프로세스가 필요합니다. 반면에 두 개의 다른 dacpac 파일을 사용하면이 dacpac 또는 다른 dacpac을 사용하게됩니다. 세 번째 옵션은 이미 새 프로젝트를 추가하고 db 참조를 추가하며 동일한 데이터베이스를 선택하고 두 dacpac 파일을 만들었지 만 문제는 새 dacpac 파일 (테스트 데이터 포함)이 제대로 작동하지 않는다는 것입니다. 내가 잘못 이해합니까? –