개발 코드들은 CVS나, SVN 같은 놈으로 버전 관리를 하죠.
그런데, DB 관련 코드들은 어떻게 버전관리를 하면 가장 합리적일까요?
DDL이 바뀌어 버렸는데, 그것을 Rollback 하겠다면, 그 해당 자료를 사용하는 제반 모든 응용프로그램들의 코드들 조차 Rollback 해야하는
이런 응용 프로그램과의 관계성도 고민을 해야하고,
버전관리 기법의 중요한 개념 가운데 하나인 Branch 기능도 DB 관리에서 필요한 것 같고,
버그 트래킹에서 DB 측 문제라면, 그 트래킹 이슈와 DB 작업 내역도 연결되어야겠고,
이런 저런 관리측 문제들이 실실 고민이 되네요.
어떤 방법이, DBA 작업량을 최대한 줄이면서, 투명하게 작업할 수 있을까요?
ER 문서의 리비전 관리를 한다?
그럴것이면 ER 문서안에 DB에 대한 모든 정보가 담겨야할터인데, 현재, PostgreSQL 안에는 그런 툴이 있는 것도 아니고.
현재까지 고민한 것으로는 DB의 객체 단위 모든 DDL sql 구문 파일을 따로 다 생성해 두고,
그것에 대한 저장소를 따로 마련하고, 모든 작업은 그 저장소 기반으로 작업을 하면 될터인데,
이도, 문제가 DB를 완벽하게 새로 구축할 경우, 각 객체들의 의존성부분에 딱 걸리더군요.
참, 답이 안나오는 부분인데, 혹 이 부분에 대해서 고민을 해 보셨던 분이 있으시면 노하우 좀 알려주세요.
|