2011-02-04 3 views
0

다른 사람들이이 작업을하고 있다고 확신합니다. 나는 최선의 방법에 대해 조언을 구하고 있습니다. 이것에 대해.웹 서버 (asp.net)에서 개인 개발을 수행하는 방법에 대한 제안/조언 - 개발 중 WRG에서 데이터베이스 관리로

문제 : 저는 취미로 만들고있는 웹 서버가 있습니다. 내 모바일 앱을 지원합니다. 코드를 작성하는 데 사용하는 기계가 두 대있어서 동기를 유지해야 할 필요가 있습니다. 개발을 위해 로컬 DB를 사용하고 사이트를 게시 할 때 호스트에 DB를 배포하는 것을 선호합니다. 문제는 2 대의 컴퓨터에서 DB를 동기화 상태로 유지하는 방법을 확신 할 수 없다는 것입니다. 더 중요한 것은 데이터베이스와 관련해서는별로 좋지 않으므로 VS와 함께 제공되는 스키마 비교기와 같은 기능을 통해 호스트 DB를 로컬 DB와 동기화 할 수 있습니다. 1. 비주얼 스튜디오 2010 2. 현지 SQL Express를 나 SQL을 사용할 수 있습니다 3. 호스팅 서버 :

여기 내 처분에있는 도구입니다. 4. Assembla/svn - 소스 제어에 사용합니다.

현재 수행중인 작업 : 로컬 DB가있는 대신 내 호스트에서 개발 용으로 원격 DB를 사용합니다. 이것에 대한 좋은 점은 내가 2 대의 컴퓨터에서 DB를 동기화 할 필요가 없다는 것입니다 (개발을 위해 동일한 원격 서버를 사용하고 있기 때문에). 나쁜 점은 내 호스트가 소스 DB에 필요한 특정 속성을 차단하기 때문에 VS와 함께 제공되는 도구를 사용하여 스키마를 동기화 할 수 없다는 것입니다.

그렇다면 어떻게해야할까요?

답변

0

코드에서 스키마 유지 관리 - 기본적으로 DDL (스키마 정의를위한 SQL, 즉 데이터 정의 언어)의 덩어리이며 데이터베이스에 버전 테이블을 포함하여이 작업을 수행합니다.

그런 다음 말한다 코드를 실행할 수 있습니다 : 데이터베이스가 후하지가

  1. 경우 데이터베이스의 버전 번호
  2. 이 확인하는 경우 버전 테이블
  3. 이외의 스키마를 만듭니다
  4. 버전이 현재 버전보다 작 으면 스키마를 현재 버전으로 업데이트하는 쿼리가 실행됩니다.
  5. 버전이 현재 버전보다 크면 응용 프로그램을 중지하고 실행하지 마십시오.

아래쪽은 코드를 유지하기위한 약간의 작업입니다. 단점은 데이터베이스 스키마를 동기화 상태로 유지하는 것이 쉽다는 것입니다.

나는 여기 어딘가에서 긴 예제를 가지고있다 - 나는 시간이있을 때 다시 시도해 볼 것이다.

+0

:(나는 이런 종류의 일에 끔찍하다.) 답변을 주셔서 감사합니다. - 고맙지 만, 제가 찾고있는 것이 아닙니다. (미안하다고 말해야합니다.) –

+0

코드 이것은 비교적 사소한 것입니다 - 링크를 기억해야합니다 - SQL Server Management Studio를 사용하여 SQL을 생성 할 수 있으므로 직접 할 필요가 없습니다. 나머지는 이미 수행 방법을 알고 있습니다. . – Murph

관련 문제