2009-08-05 2 views
0

TortoiseSVN을 설치 했으므로 지금 막 나에게 발생했습니다. DB 스크립트를 관리하고 추적하는 방법.TortoiseSVN을 사용하여 DB 스크립트 구조 버전 지정

TFS에서 변경 집합에 스크립트를 추가하기 만하면됩니다. 그런 다음 변경 집합을 어떤 작업에 추가하십시오.

저는 TFS와 Subversion (Tortoise)을 모두 사용했으며이를 관리하는 가장 좋은 방법은 무엇인지를 상기하지 않았습니다. 프로젝트 이름과 날짜별로 폴더를 만들거나 Scripts 폴더를 만들고 파일 이름의 이름을 프로젝트 이름으로 지정합니까?

우리는이 새로운 장소에서 실제로 작업 관리 시스템을 가지고 있지 않습니다 (과거에는 하나의 코더 만 있었기 때문에).

답변

1

우리의 회사가이처럼 수행 방법 :

[repository-for-app] 
+ [trunk] 
    + [database-name] 
    + [build-scripts] 
     - [release_date_1] 
     - [...] (etc) 
    - [data] 
    + [metadata] 
     - [procedures] 
     - [roles] 
     - [tables] 
     - [triggers] 
     - [views] 
     - [...] (etc) 
- [tags] 
- [branches] 

따라서, 예를 들어, 내부 [절차] CREATE OR ALTER PROCEDURE 문마다 하나 개의 .SQL 파일이있을 것입니다.

[build-scripts] 폴더는 한 버전의 데이터베이스를 다음 버전으로 가져 오는 데 적용되는 실제 SQL 패치 스크립트 용 폴더입니다. 여기

1

내가 CVS를 사용 할 것입니다 :

은 (업그레이드 용) "미전도 종족"라는 다른 폴더를 생성에서, "DB"라는 폴더를 만듭니다. 이 폴더에는 "v100", "v110", "v120"등과 같은 각 버전마다 하나의 폴더가 있습니다.

각 버전 폴더에는 처음에 데이터베이스 ("v100")를 생성하는 SQL 스크립트, 후속 버전 ("v110"등)에서 데이터베이스 구조를 패치/업그레이드 할 수 있습니다.

스크립트 (예 : 데이터를로드하기 전에 테이블을 만들어야 함)간에 종속성이 있기 때문에 각 스크립트의 이름은 번호 접두어로 지정됩니다. 예 :

v100 
    01_create_the_tables.sql 
    02_create_some_views.sql 
    03_load_some_config_data.sql 
    04_add_a_column_or_something.sql 
v110 
    01_create_some_new_table_and_migrate_data.sql 
    02_drop_that_unused_index.sql 
    03_set_up_fulltext_search.sql 
    04_grant_some_privileges.sql 

기타 등등.

이 시스템은 여러 가지 테스트, 수락 및 프로덕션 데이터베이스로 여러 고객에게 배포되는 하나의 코드베이스로 지난 10 년 동안 저에게 잘 돌아 왔습니다. 스크립트의 폴더 및 시퀀스 번호에 대한 버전 번호를 지정하면 특정 데이터베이스의 버전과 적용 할 스크립트를 쉽게 결정할 수 있으므로 클라이언트 응용 프로그램 (예 : 사용자 인터페이스)에 필요한 모든 버전으로 가져올 수 있습니다.

관련 문제