2010-01-12 4 views
3

나는 DB 기반 응용 프로그램을 가지고 있으며 스키마에 변경 사항이있을 때마다 & db 콘텐츠를 삭제합니다. 이제는 개발 모드입니다. 곧 우리는 프로덕션 환경에서 응용 프로그램을 릴리스합니다. 그러나 프로덕션 용도로 응용 프로그램을 릴리스 한 후 많은 변경이있을 수 있습니다. 소프트웨어는 전 세계 여러 곳에 설치되어야합니다. (웹 기반 앱이 아님)스키마 마이그레이션 도구는 어떻게 작동합니까?

이 경우 스키마 이전 도구는 어떻게 작동합니까? 또는 스키마에서 변경이 의심되는 일반적인 데이터베이스 기반 응용 프로그램에서이를 어떻게 사용할 수 있습니까?

+0

앱은 어떻게 작성 되나요? ORM을 사용하는 경우 해당 ORM의 이전 도구를 살펴 보았습니까? – Tobu

+0

우리는 Visual Studio 또는 C# –

답변

4

RedGate 도구를 다운로드하여 확인하십시오. 나는 그들 모두가 시험 사용 기간을 가지고 있다고 믿으며, SQL Compare가 그럴 것이라고 확신한다.

일반적으로 두 데이터베이스를 가리키며 둘 사이의 모든 차이점을 나열합니다. 주석, 제약 조건 이름 등과 같은 특정 사항을 무시하도록 구성 할 수 있습니다. 거기에서 동기화 할 항목과 방향을 선택할 수 있으며 도구는 스크립트를 생성하거나 스크립트가 생성하도록 선택할 수 있습니다. 당신을 위해 변화.

상황에 따라 스크립트를 생성 한 다음이를 고객에게 보낼 내용이나 설치 스크립트에 포함 할 내용의 기초로 사용할 수 있습니다. 응용 프로그램의 각 버전에 대해 데이터베이스를 유지하면 두 버전의 데이터베이스를 가리켜 한 버전에서 다른 버전으로 이동하는 스크립트를 생성 할 수 있습니다. 너무 빈 공간을 차지하지 않도록 빈 공간을 유지하거나 룩업 테이블을 채울 수 있습니다.

SQL 데이터 비교를 사용하여 조회 테이블을 동기화 된 상태로 유지할 수도 있습니다. 실제 주 데이터 테이블이 아닌 조회 테이블 용으로 사용하십시오.

어떤 경로를 선택하든 구조를 변경하거나 비슷한 이유로 데이터를 변환해야하기 때문에 사용자 정의 코딩을해야합니다.

+1

과 함께 linq를 사용합니다. 투표를 거치지 않으면 사람들이 지능적이고 정보에 입각 한 결정을 내릴 수있는 이유를 제공하는 데 도움이 될 수 있습니다. 그것이 그렇듯이, 당신이 알고있는이 답에는 어떤 내재적 인 문제가 있는지 사람들에게 말할 것도 없습니다. –

0

SQL 마이그레이션 도구로 RoundhousE을 고려하십시오.

스키마 작성 스크립트를 편집하는 대신 스키마를 현재 데이터베이스 버전에서 새 버전으로 이동하는 마이그레이션을 작성합니다. RoundhousE는 데이터베이스에 정보를 추가하여 현재 사용중인 버전을 추적하고 필요한 경우 이주 스크립트를 데이터베이스에 적용합니다.

나는이 도구를 연구 중이며 RoundhousE는 현재 내 목록의 맨 위에 있습니다.