2009-10-07 2 views
0

RPM은 종속성을 확인하고 개별 파일 업데이트를 처리하는 데는 탁월한 것으로 보이지만 여러 버전에서 관계형 데이터베이스에 대한 누적 업데이트를 처리하는 가장 좋은 방법은 무엇입니까?누적 업데이트를 처리하기위한 RPM 기술?

예를 들어 버전 1.2.1, 1.2.2, 1.2.3 및 1.3.0의 제품 Foo가 있다고 가정 해 보겠습니다. 각각의 경우 SQL 업그레이드 스크립트가 필요한 데이터베이스 스키마 변경이있었습니다. 현재 버전의 스키마를 사용하려면 각 업그레이드 스크립트를 차례대로 실행해야합니다.

고객이 1.2.2를 설치했고 1.3.0으로 업그레이드하려고한다고 가정 해보십시오. 적절한 스크립트를 사용할 수 있도록 RPM 패키지를 어떻게 구성하고 데이터베이스에 대해 올바른 업그레이드 스크립트를 실행할 수 있습니까? 이 경우 1.2.3 및 1.3.0 용 업그레이드 스크립트를 실행하고 1.2.1 또는 1.2.2 용 업그레이드 스크립트는 실행하지 않을 것입니다. 그것들은 아마 이미 처형 당했기 때문이다.

한 가지 대안은 각 중간 버전을 차례대로 업그레이드해야하기 때문에이 예에서 사용자가 1.3.0 이전의 1.2.3으로 업그레이드해야합니다. 이것은 최적이 아닌 것 같습니다. 또한, RPM SPEC 파일에서 이것이 무엇인지 알지 못하기 때문에 외부 프로세스를 통해 강제로 "강제 실행"해야합니다.

이 문제를 처리하는 데 필요한 알려진 기술이 있습니까? 인터넷 검색 비트 조금 노출하지 않았다.

편집 : "알려진"이란 "이론적으로 입증되지 않은"것을 의미합니다.

답변

0

작업에 적합한 도구를 사용하십시오. RPM은 아마도 올바른 도구가 아닙니다. Liquibase와 같은 것이이 작업에 더 적합 할 것입니다.