2010-02-02 5 views
1

내 현재 프로젝트는 데이터베이스 전문가 GDR2 (일명 DataDude) 용 Visual Studio Team System을 사용합니다. 우리는 DataDude를 사용하여 모델링 한 데이터베이스를 사용하는 유일한 애플리케이션입니다.데이터 Dude/VS Team System 데이터베이스 - 다중 프로젝트 데이터베이스와 함께 사용

우리 회사는 모든 프로젝트에서 DataDude를 전반적으로 사용하는 것을 고려하고 싶습니다. 그러나 데이터베이스를 공유하는 프로젝트 (응용 프로그램의 대부분)에서이 작업이 얼마나 잘 작동하는지 확신 할 수 없습니다.

예 : ApplicationA, ApplicationB 및 ApplicationC은 모두 Server1의 Database1을 공유합니다. (그들은 소스 코드와 데이터베이스 만 공유하지 않습니다.) 세 가지 응용 프로그램 모두 현재 개발 중입니다 (중요하다면 Scrum을 사용합니다).

문제는 ApplicationB를 테스트 환경으로 릴리스해야하는 경우에 발생합니다. DataDude의 자동 배포/스크립팅 기능은 ApplicationA 및 ApplicationC의 현재 dev 변경 사항을 파악합니다. (현재 각 응용 프로그램에 대한 데이터베이스 변경은 수동 프로세스입니다.)

그럼 어떻게 동일한 데이터베이스를 공유하면서 각 응용 프로그램을 다른 응용 프로그램과 격리시킬 수 있습니까?

참고 :이 질문에 대한 변경 사항이 상충되는 것은 아닙니다 (예 : ApplicationA가 ApplicationC를 중단시키는 DB 변경을하는 경우). 그것들을 테스트에서 찾을 수 있습니다. 현재 릴리스하고있는 응용 프로그램의 일부가 아닌 Database Changes를 Test/Production 환경으로 이동하지 않도록하십시오.

나를 도와 줄 수있는 모범 사례가 있습니까?

답변

3

우리는 비슷한 상황에 있습니다. 동일한 데이터베이스를 사용하는 많은 응용 프로그램이 있으며 우리 데이터베이스는 DBPro 소스 제어하에 있습니다. 우리는 다양한 응용 프로그램을 데이터베이스 소스 코드의 자체 분기에서 작동하도록 처리합니다. 각 응용 프로그램은 정기적으로 주 분기에서 병합되므로 해당 분기는 다른 분기의 변경 사항을 인식합니다. 그런 다음 응용 프로그램 중 하나를 테스트에 배포해야 할 때 주 분기까지 병합이 완료된 다음 테스트 서버에 대한 배포가 완료됩니다.

+0

같은 솔루션을 사용하면 좋은 솔루션처럼 보입니다. 내가 보는 주된 문제는 DBPro를 사용하여 개발 환경에 배포 할 수 없다는 것입니다. (하나의 브랜치가 다른 브랜치에서 눌 렸기 때문입니다.) – Vaccano

+0

그러나 DBPro를 사용하여 테스트 환경에 배치하는 기능은이 솔루션에 큰 장점입니다. – Vaccano

+0

@Vaccano - DBPro는 정말로 각 개발사가 자체 개발 데이터베이스 (로컬 데이터베이스)를 가지고있는 고립 개발을 장려합니다. 이 접근 방식에 동의합니다. 필자는 동일한 데이터베이스를 대상으로 개발 한 여러 개발자가 어떻게 작동하는지 보지 못합니다. –