나는 데이터베이스를 만들기 위해 소스 파일을 사용한다는 점에서 약간 구식입니다. 실제로 두 개의 파일 (project-database.sql 및 project-updates.sql)이 있습니다. 첫 번째는 스키마 및 지속성 데이터 용이고 다른 하나는 수정 용입니다. 물론 둘 다 소스 제어하에 있습니다.
데이터베이스가 변경되면 먼저 project-database.sql의 기본 스키마를 업데이트 한 다음 관련 정보를 project-updates.sql에 복사합니다 (예 : ALTER TABLE 문). 그런 다음 업데이트를 개발 데이터베이스에 적용하고 테스트하고 잘 완료 될 때까지 반복 할 수 있습니다. 그런 다음 파일을 체크인하고 다시 테스트하고 프로덕션에 적용하십시오.
또한 일반적으로 db-Config에 다음과 같은 테이블이 있습니다.
SQL
CREATE TABLE Config
(
cfg_tag VARCHAR(50),
cfg_value VARCHAR(100)
);
INSERT INTO Config(cfg_tag, cfg_value) VALUES
( 'db_version', '$Revision: $'),
( 'db_revision', '$Revision: $');
그런 다음 업데이트 섹션에 다음을 추가합니다.
UPDATE Config SET cfg_value='$Revision: $' WHERE cfg_tag='db_revision';
db_version는 데이터베이스가 다시 때 변화 도착하고는 db_revision나에게 DB를 기준 떨어져 얼마나 멀리 표시를 제공합니다.
업데이트를 별도의 파일에 보관할 수 있지만 모두 함께 매시고 잘라 내기 및 붙여 넣기를 사용하여 관련 섹션을 추출하도록 선택했습니다. 좀 더 정리가 필요합니다. 즉, $ Revision 1.1 $에서 ':'을 제거하여 고정합니다.